public function previewEmail(TemplateService $templateService)
{
$template = Input::get('template');
$invoice = Invoice::scope()->invoices()->withTrashed()->first();
if (!$invoice) {
return trans('texts.create_invoice_for_sample');
}
/** @var \App\Models\Account $account */
$account = Auth::user()->account;
$invitation = $invoice->invitations->first();
// replace the variables with sample data
$data = ['account' => $account, 'invoice' => $invoice, 'invitation' => $invitation, 'link' => $invitation->getLink(), 'client' => $invoice->client, 'amount' => $invoice->amount];
// create the email view
$view = 'emails.' . $account->getTemplateView(ENTITY_INVOICE) . '_html';
$data = array_merge($data, ['body' => $templateService->processVariables($template, $data), 'entityType' => ENTITY_INVOICE]);
return Response::view($view, $data);
}