Show the selected contact on the invoice

This commit is contained in:
Hillel Coren 2018-03-29 22:59:00 +03:00
parent 2a3abe39f5
commit d42b906d97
3 changed files with 7 additions and 8 deletions

View File

@ -215,7 +215,7 @@ class ClientPortalController extends BaseController
$invoice = $invitation->invoice; $invoice = $invitation->invoice;
$decode = ! request()->base64; $decode = ! request()->base64;
$pdfString = $invoice->getPDFString($decode); $pdfString = $invoice->getPDFString($invitation, $decode);
header('Content-Type: application/pdf'); header('Content-Type: application/pdf');
header('Content-Length: ' . strlen($pdfString)); header('Content-Length: ' . strlen($pdfString));

View File

@ -1217,7 +1217,7 @@ class Invoice extends EntityModel implements BalanceAffecting
/** /**
* @return bool|string * @return bool|string
*/ */
public function getPDFString($decode = true) public function getPDFString($invitation = false, $decode = true)
{ {
if (! env('PHANTOMJS_CLOUD_KEY') && ! env('PHANTOMJS_BIN_PATH')) { if (! env('PHANTOMJS_CLOUD_KEY') && ! env('PHANTOMJS_BIN_PATH')) {
return false; return false;
@ -1227,7 +1227,7 @@ class Invoice extends EntityModel implements BalanceAffecting
return false; return false;
} }
$invitation = $this->invitations[0]; $invitation = $invitation ?: $this->invitations[0];
$link = $invitation->getLink('view', true, true); $link = $invitation->getLink('view', true, true);
$pdfString = false; $pdfString = false;
$phantomjsSecret = env('PHANTOMJS_SECRET'); $phantomjsSecret = env('PHANTOMJS_SECRET');

View File

@ -70,9 +70,6 @@ class ContactMailer extends Mailer
$pdfString = false; $pdfString = false;
$ublString = false; $ublString = false;
if ($account->attachPDF() && ! $proposal) {
$pdfString = $invoice->getPDFString();
}
if ($account->attachUBL() && ! $proposal) { if ($account->attachUBL() && ! $proposal) {
$ublString = dispatch(new ConvertInvoiceToUbl($invoice)); $ublString = dispatch(new ConvertInvoiceToUbl($invoice));
} }
@ -100,6 +97,9 @@ class ContactMailer extends Mailer
$isFirst = true; $isFirst = true;
$invitations = $proposal ? $proposal->invitations : $invoice->invitations; $invitations = $proposal ? $proposal->invitations : $invoice->invitations;
foreach ($invitations as $invitation) { foreach ($invitations as $invitation) {
if ($account->attachPDF() && ! $proposal) {
$pdfString = $invoice->getPDFString($invitation);
}
$data = [ $data = [
'pdfString' => $pdfString, 'pdfString' => $pdfString,
'documentStrings' => $documentStrings, 'documentStrings' => $documentStrings,
@ -266,6 +266,7 @@ class ContactMailer extends Mailer
$account->loadLocalizationSettings($client); $account->loadLocalizationSettings($client);
$invoice = $payment->invoice; $invoice = $payment->invoice;
$invitation = $payment->invitation ?: $payment->invoice->invitations[0];
$accountName = $account->getDisplayName(); $accountName = $account->getDisplayName();
if ($refunded > 0) { if ($refunded > 0) {
@ -282,11 +283,9 @@ class ContactMailer extends Mailer
if ($payment->invitation) { if ($payment->invitation) {
$user = $payment->invitation->user; $user = $payment->invitation->user;
$contact = $payment->contact; $contact = $payment->contact;
$invitation = $payment->invitation;
} else { } else {
$user = $payment->user; $user = $payment->user;
$contact = $client->contacts->count() ? $client->contacts[0] : ''; $contact = $client->contacts->count() ? $client->contacts[0] : '';
$invitation = $payment->invoice->invitations[0];
} }
$variables = [ $variables = [