diff --git a/app/Jobs/SendNotificationEmail.php b/app/Jobs/SendNotificationEmail.php index 2b1213bb1bec..cf475f77db4c 100644 --- a/app/Jobs/SendNotificationEmail.php +++ b/app/Jobs/SendNotificationEmail.php @@ -7,13 +7,16 @@ 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; + use InteractsWithQueue, SerializesModels, SerialisesDeletedModels { + SerialisesDeletedModels::getRestoredPropertyValue insteadof SerializesModels; + } /** * @var User diff --git a/app/Models/Traits/SerialisesDeletedModels.php b/app/Models/Traits/SerialisesDeletedModels.php new file mode 100644 index 000000000000..fc963368977b --- /dev/null +++ b/app/Models/Traits/SerialisesDeletedModels.php @@ -0,0 +1,36 @@ +id)) { + return $this->restoreCollection($value); + } + + $instance = new $value->class; + $query = $instance->newQuery()->useWritePdo(); + + if (property_exists($instance, 'forceDeleting')) { + return $query->withTrashed()->find($value->id); + } + + return $query->findOrFail($value->id); + } +}