2020-02-15 10:01:15 +01:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Created by PhpStorm.
|
|
|
|
* User: michael.hampton
|
|
|
|
* Date: 14/02/2020
|
2020-09-06 11:38:10 +02:00
|
|
|
* Time: 19:51.
|
2020-02-15 10:01:15 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
namespace App\Helpers\Email;
|
|
|
|
|
|
|
|
use App\Models\Quote;
|
2020-02-17 10:37:44 +01:00
|
|
|
use App\Models\QuoteInvitation;
|
2020-02-15 10:01:15 +01:00
|
|
|
|
|
|
|
class QuoteEmail extends EmailBuilder
|
|
|
|
{
|
2020-02-17 10:37:44 +01:00
|
|
|
public function build(QuoteInvitation $invitation, $reminder_template)
|
2020-02-15 10:01:15 +01:00
|
|
|
{
|
2020-02-17 21:15:12 +01:00
|
|
|
$client = $invitation->contact->client;
|
2020-02-17 10:37:44 +01:00
|
|
|
$quote = $invitation->quote;
|
|
|
|
$contact = $invitation->contact;
|
|
|
|
|
|
|
|
$this->template_style = $client->getSetting('email_style');
|
2020-02-15 10:01:15 +01:00
|
|
|
|
2020-09-06 11:38:10 +02:00
|
|
|
$body_template = $client->getSetting('email_template_'.$reminder_template);
|
2020-02-15 10:01:15 +01:00
|
|
|
|
|
|
|
/* Use default translations if a custom message has not been set*/
|
|
|
|
if (iconv_strlen($body_template) == 0) {
|
2020-03-21 06:37:30 +01:00
|
|
|
$body_template = trans(
|
|
|
|
'texts.quote_message',
|
|
|
|
['amount' => $quote->amount, 'company' => $quote->company->present()->name()],
|
|
|
|
null,
|
|
|
|
$quote->client->locale()
|
|
|
|
);
|
2020-02-15 10:01:15 +01:00
|
|
|
}
|
|
|
|
|
2020-09-06 11:38:10 +02:00
|
|
|
$subject_template = $client->getSetting('email_subject_'.$reminder_template);
|
2020-02-15 10:01:15 +01:00
|
|
|
|
|
|
|
if (iconv_strlen($subject_template) == 0) {
|
|
|
|
if ($reminder_template == 'quote') {
|
2020-03-21 06:37:30 +01:00
|
|
|
$subject_template = trans(
|
|
|
|
'texts.quote_subject',
|
2020-02-15 10:01:15 +01:00
|
|
|
['number' => $quote->number, 'company' => $quote->company->present()->name()],
|
2020-03-21 06:37:30 +01:00
|
|
|
null,
|
|
|
|
$quote->client->locale()
|
|
|
|
);
|
2020-02-15 10:01:15 +01:00
|
|
|
} else {
|
2020-03-21 06:37:30 +01:00
|
|
|
$subject_template = trans(
|
|
|
|
'texts.reminder_subject',
|
2020-02-15 10:01:15 +01:00
|
|
|
['number' => $quote->number, 'company' => $quote->company->present()->name()],
|
2020-03-21 06:37:30 +01:00
|
|
|
null,
|
|
|
|
$quote->client->locale()
|
|
|
|
);
|
2020-02-15 10:01:15 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$this->setTemplate($quote->client->getSetting('email_style'))
|
|
|
|
->setContact($contact)
|
2020-02-17 10:37:44 +01:00
|
|
|
->setFooter("<a href='{$invitation->getLink()}'>Quote Link</a>")
|
2020-02-15 10:01:15 +01:00
|
|
|
->setVariables($quote->makeValues($contact))
|
|
|
|
->setSubject($subject_template)
|
|
|
|
->setBody($body_template);
|
|
|
|
|
|
|
|
if ($client->getSetting('pdf_email_attachment') !== false) {
|
2020-04-16 10:41:25 +02:00
|
|
|
$this->attachments = $invitation->pdf_file_path();
|
2020-02-15 10:01:15 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
}
|