From 95c36f111bf8e665a9c9a808398007568001f6b8 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 2 Jan 2022 23:01:07 +1100 Subject: [PATCH] Fixes for mail notifications --- app/Http/Controllers/InvoiceController.php | 4 ++-- app/Jobs/SendInvoiceEmail.php | 2 +- app/Jobs/SendNotificationEmail.php | 24 ++++++++++++---------- app/Listeners/NotificationListener.php | 21 +++++++++++-------- app/Ninja/Mailers/UserMailer.php | 2 +- 5 files changed, 29 insertions(+), 24 deletions(-) diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 242f6009ac..d21ae1c13f 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -25,9 +25,9 @@ use App\Services\RecurringInvoiceService; use Auth; use Cache; use DB; +use Illuminate\Support\Facades\Session; use Redirect; use Request; -use Session; use URL; use Utils; use View; @@ -427,7 +427,7 @@ class InvoiceController extends BaseController $response = $this->emailRecurringInvoice($invoice); } else { $userId = Auth::user()->id; - $this->dispatch(new SendInvoiceEmail($invoice, $userId, $reminder, $template)); + dispatch(new SendInvoiceEmail($invoice, $userId, $reminder, $template)); $response = true; } diff --git a/app/Jobs/SendInvoiceEmail.php b/app/Jobs/SendInvoiceEmail.php index effa021b9b..efa5336773 100644 --- a/app/Jobs/SendInvoiceEmail.php +++ b/app/Jobs/SendInvoiceEmail.php @@ -21,7 +21,7 @@ class SendInvoiceEmail extends Job implements ShouldQueue /** * @var Invoice */ - protected $invoice; + public $invoice; /** * @var bool diff --git a/app/Jobs/SendNotificationEmail.php b/app/Jobs/SendNotificationEmail.php index cf475f77db..b6eec96add 100644 --- a/app/Jobs/SendNotificationEmail.php +++ b/app/Jobs/SendNotificationEmail.php @@ -2,51 +2,53 @@ namespace App\Jobs; +use App\Models\Invoice; use App\Models\Payment; +use App\Models\Traits\SerialisesDeletedModels; +use App\Models\User; use App\Ninja\Mailers\UserMailer; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; -use App\Models\Traits\SerialisesDeletedModels; /** * Class SendInvoiceEmail. */ class SendNotificationEmail extends Job implements ShouldQueue { - use InteractsWithQueue, SerializesModels, SerialisesDeletedModels { - SerialisesDeletedModels::getRestoredPropertyValue insteadof SerializesModels; - } + use InteractsWithQueue; + + public $deleteWhenMissingModels = true; /** * @var User */ - protected $user; + public User $user; /** * @var Invoice */ - protected $invoice; + public Invoice $invoice; /** * @var string */ - protected $type; + public $type; /** * @var Payment */ - protected $payment; + public ?Payment $payment; /** * @var string */ - protected $notes; + public $notes; /** * @var string */ - protected $server; + public $server; /** * Create a new job instance. @@ -59,7 +61,7 @@ class SendNotificationEmail extends Job implements ShouldQueue * @param mixed $type * @param mixed $payment */ - public function __construct($user, $invoice, $type, $payment, $notes) + public function __construct(User $user, Invoice $invoice, $type, ?Payment $payment, $notes) { $this->user = $user; $this->invoice = $invoice; diff --git a/app/Listeners/NotificationListener.php b/app/Listeners/NotificationListener.php index a906436519..b5d2af5564 100644 --- a/app/Listeners/NotificationListener.php +++ b/app/Listeners/NotificationListener.php @@ -1,17 +1,20 @@ -account->users as $user) { diff --git a/app/Ninja/Mailers/UserMailer.php b/app/Ninja/Mailers/UserMailer.php index 881ab1b1a9..e475602466 100644 --- a/app/Ninja/Mailers/UserMailer.php +++ b/app/Ninja/Mailers/UserMailer.php @@ -73,7 +73,7 @@ class UserMailer extends Mailer User $user, Invoice $invoice, $notificationType, - Payment $payment = null, + ?Payment $payment, $notes = false ) { if (! $user->shouldNotify($invoice)) {