App\Http\Controllers\AccountController::previewEmail PHP Method

previewEmail() public method

public previewEmail ( TemplateService $templateService ) : Illuminate\Http\Response
$templateService App\services\TemplateService
return Illuminate\Http\Response
    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);
    }