From 430a0edbad9aec86fa63eac651577641ee388d38 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 25 Apr 2017 15:05:41 +0300 Subject: [PATCH] Set user in send invoice/quote activity --- app/Http/Controllers/InvoiceController.php | 6 ++++-- app/Jobs/SendInvoiceEmail.php | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 2adb3a4f2414..42108f353d7d 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -405,7 +405,8 @@ class InvoiceController extends BaseController if ($invoice->is_recurring) { $response = $this->emailRecurringInvoice($invoice); } else { - $this->dispatch(new SendInvoiceEmail($invoice, $reminder, $template)); + $userId = Auth::user()->id; + $this->dispatch(new SendInvoiceEmail($invoice, $userId, $reminder, $template)); $response = true; } @@ -437,7 +438,8 @@ class InvoiceController extends BaseController if ($invoice->isPaid()) { return true; } else { - $this->dispatch(new SendInvoiceEmail($invoice)); + $userId = Auth::user()->id; + $this->dispatch(new SendInvoiceEmail($invoice, $userId)); return true; } } diff --git a/app/Jobs/SendInvoiceEmail.php b/app/Jobs/SendInvoiceEmail.php index f37abac24e44..09a282f38238 100644 --- a/app/Jobs/SendInvoiceEmail.php +++ b/app/Jobs/SendInvoiceEmail.php @@ -8,6 +8,7 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Monolog\Logger; +use Auth; /** * Class SendInvoiceEmail. @@ -31,6 +32,11 @@ class SendInvoiceEmail extends Job implements ShouldQueue */ protected $template; + /** + * @var int + */ + protected $userId; + /** * Create a new job instance. * @@ -39,9 +45,10 @@ class SendInvoiceEmail extends Job implements ShouldQueue * @param bool $reminder * @param mixed $pdfString */ - public function __construct(Invoice $invoice, $reminder = false, $template = false) + public function __construct(Invoice $invoice, $userId = false, $reminder = false, $template = false) { $this->invoice = $invoice; + $this->userId = $userId; $this->reminder = $reminder; $this->template = $template; } @@ -53,7 +60,16 @@ class SendInvoiceEmail extends Job implements ShouldQueue */ public function handle(ContactMailer $mailer) { + // send email as user + if ($this->userId) { + Auth::loginUsingId($this->userId); + } + $mailer->sendInvoice($this->invoice, $this->reminder, $this->template); + + if ($this->userId) { + Auth::logout(); + } } /*