From cccfa8c870f94da71e507cb316b8d89e3d8a3e27 Mon Sep 17 00:00:00 2001 From: DariusIII Date: Wed, 6 Feb 2019 11:41:43 +0100 Subject: [PATCH] Update Mail and Jobs to use user directly --- Changelog | 1 + app/Http/Controllers/Admin/UserController.php | 7 ++++- app/Jobs/SendAccountChangedEmail.php | 25 +++++++++++++----- app/Jobs/SendAccountDeletedEmail.php | 11 +++++--- app/Jobs/SendAccountExpiredEmail.php | 22 ++++++++-------- app/Jobs/SendInviteEmail.php | 22 ++++++++++------ app/Jobs/SendPasswordForgottenEmail.php | 2 +- app/Jobs/SendPasswordResetEmail.php | 2 +- app/Mail/AccountChange.php | 13 ++++++---- app/Mail/AccountDeleted.php | 6 ++--- app/Mail/AccountExpired.php | 6 ++--- app/Mail/PasswordReset.php | 26 ++++++++++++------- app/Mail/SendInvite.php | 18 ++++++++----- 13 files changed, 101 insertions(+), 60 deletions(-) diff --git a/Changelog b/Changelog index cfa4f7901..9c9add848 100755 --- a/Changelog +++ b/Changelog @@ -1,4 +1,5 @@ 2019-02-06 DariusIII + * Chg: Update Mail and Jobs to use user directly * Chg: Update User model 2019-02-05 DariusIII * Chg: Update laravel/framework (v5.7.24 => v5.7.25) diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 9a33f6111..af1c59b36 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Admin; +use App\Jobs\SendAccountDeletedEmail; use App\Models\User; use App\Models\Invitation; use Illuminate\Http\Request; @@ -227,7 +228,11 @@ class UserController extends BasePageController public function destroy(Request $request) { if ($request->has('id')) { - User::deleteUser($request->input('id')); + $user = User::find($request->input('id')); + + SendAccountDeletedEmail::dispatch($user); + + $user->delete(); return redirect('admin/user-list'); } diff --git a/app/Jobs/SendAccountChangedEmail.php b/app/Jobs/SendAccountChangedEmail.php index 15bb94aef..c0ed1066e 100644 --- a/app/Jobs/SendAccountChangedEmail.php +++ b/app/Jobs/SendAccountChangedEmail.php @@ -2,32 +2,43 @@ namespace App\Jobs; -use App\Models\User; use App\Mail\AccountChange; +use App\Models\User; use Illuminate\Bus\Queueable; -use Illuminate\Support\Facades\Mail; -use Illuminate\Queue\SerializesModels; -use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; +use Illuminate\Queue\InteractsWithQueue; +use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Mail; class SendAccountChangedEmail implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; + /** + * @var string + */ private $email; + /** + * @var int + */ private $id; + /** + * @var \App\Models\User + */ + private $user; + /** * Create a new job instance. * * @param \App\Models\User $user */ - public function __construct(User $user) + public function __construct($user) { + $this->user = $user; $this->email = $user->email; - $this->id = $user->id; } /** @@ -37,6 +48,6 @@ class SendAccountChangedEmail implements ShouldQueue */ public function handle() { - Mail::to($this->email)->send(new AccountChange($this->id)); + Mail::to($this->email)->send(new AccountChange($this->user)); } } diff --git a/app/Jobs/SendAccountDeletedEmail.php b/app/Jobs/SendAccountDeletedEmail.php index bb85e4055..d84a56926 100644 --- a/app/Jobs/SendAccountDeletedEmail.php +++ b/app/Jobs/SendAccountDeletedEmail.php @@ -16,16 +16,19 @@ class SendAccountDeletedEmail implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; - private $userId; + /** + * @var \App\Models\User + */ + private $user; /** * Create a new job instance. * * @param \App\Models\User $user */ - public function __construct(User $user) + public function __construct($user) { - $this->userId = $user->id; + $this->user = $user; } /** @@ -35,6 +38,6 @@ class SendAccountDeletedEmail implements ShouldQueue */ public function handle() { - Mail::to(Settings::settingValue('site.main.email'))->send(new AccountDeleted($this->userId)); + Mail::to(Settings::settingValue('site.main.email'))->send(new AccountDeleted($this->user)); } } diff --git a/app/Jobs/SendAccountExpiredEmail.php b/app/Jobs/SendAccountExpiredEmail.php index 37f8cb2a8..e68450b71 100644 --- a/app/Jobs/SendAccountExpiredEmail.php +++ b/app/Jobs/SendAccountExpiredEmail.php @@ -2,32 +2,32 @@ namespace App\Jobs; -use App\Models\User; use App\Mail\AccountExpired; +use App\Models\User; use Illuminate\Bus\Queueable; -use Illuminate\Support\Facades\Mail; -use Illuminate\Queue\SerializesModels; -use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; +use Illuminate\Queue\InteractsWithQueue; +use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Mail; class SendAccountExpiredEmail implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; - private $email; - - private $userId; + /** + * @var \App\Models\User + */ + private $user; /** * Create a new job instance. * * @param \App\Models\User $user */ - public function __construct(User $user) + public function __construct($user) { - $this->email = $user->email; - $this->userId = $user->id; + $this->user = $user; } /** @@ -37,6 +37,6 @@ class SendAccountExpiredEmail implements ShouldQueue */ public function handle() { - Mail::to($this->email)->send(new AccountExpired($this->userId)); + Mail::to($this->user->email)->send(new AccountExpired($this->user)); } } diff --git a/app/Jobs/SendInviteEmail.php b/app/Jobs/SendInviteEmail.php index 241818945..8aab86472 100644 --- a/app/Jobs/SendInviteEmail.php +++ b/app/Jobs/SendInviteEmail.php @@ -3,12 +3,13 @@ namespace App\Jobs; use App\Mail\SendInvite; +use App\Models\User; use Illuminate\Bus\Queueable; -use Illuminate\Support\Facades\Mail; -use Illuminate\Queue\SerializesModels; -use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; +use Illuminate\Queue\InteractsWithQueue; +use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\Mail; class SendInviteEmail implements ShouldQueue { @@ -21,16 +22,21 @@ class SendInviteEmail implements ShouldQueue private $url; /** - * Create a new job instance. + * @var \App\Models\User + */ + private $user; + + /** + * SendInviteEmail constructor. * * @param $email - * @param $userId + * @param $user * @param $url */ - public function __construct($email, $userId, $url) + public function __construct($email, $user, $url) { $this->email = $email; - $this->userId = $userId; + $this->user = $user; $this->url = $url; } @@ -41,6 +47,6 @@ class SendInviteEmail implements ShouldQueue */ public function handle() { - Mail::to($this->email)->send(new SendInvite($this->userId, $this->url)); + Mail::to($this->email)->send(new SendInvite($this->user, $this->url)); } } diff --git a/app/Jobs/SendPasswordForgottenEmail.php b/app/Jobs/SendPasswordForgottenEmail.php index bbccdc8f5..668f12128 100644 --- a/app/Jobs/SendPasswordForgottenEmail.php +++ b/app/Jobs/SendPasswordForgottenEmail.php @@ -25,7 +25,7 @@ class SendPasswordForgottenEmail implements ShouldQueue * @param \App\Models\User $user * @param $resetLink */ - public function __construct(User $user, $resetLink) + public function __construct($user, $resetLink) { $this->email = $user->email; $this->resetLink = $resetLink; diff --git a/app/Jobs/SendPasswordResetEmail.php b/app/Jobs/SendPasswordResetEmail.php index b918f87f7..cedd0b1c2 100644 --- a/app/Jobs/SendPasswordResetEmail.php +++ b/app/Jobs/SendPasswordResetEmail.php @@ -36,7 +36,7 @@ class SendPasswordResetEmail implements ShouldQueue * @param \App\Models\User $user * @param string $newPass */ - public function __construct(User $user, $newPass) + public function __construct($user, $newPass) { $this->email = $user->email; $this->userId = $user->id; diff --git a/app/Mail/AccountChange.php b/app/Mail/AccountChange.php index f70c49bca..38ccfbc43 100644 --- a/app/Mail/AccountChange.php +++ b/app/Mail/AccountChange.php @@ -2,8 +2,8 @@ namespace App\Mail; -use App\Models\User; use App\Models\Settings; +use App\Models\User; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; @@ -12,16 +12,19 @@ class AccountChange extends Mailable { use Queueable, SerializesModels; + /** + * @var \App\Models\User + */ public $user; /** - * Create a new message instance. + * AccountChange constructor. * - * @param $userId + * @param \App\Models\User $user */ - public function __construct($userId) + public function __construct($user) { - $this->user = User::find($userId); + $this->user = $user; } /** diff --git a/app/Mail/AccountDeleted.php b/app/Mail/AccountDeleted.php index b78fa13c0..7fdf3e557 100644 --- a/app/Mail/AccountDeleted.php +++ b/app/Mail/AccountDeleted.php @@ -20,11 +20,11 @@ class AccountDeleted extends Mailable /** * Create a new message instance. * - * @param $userId + * @param $user */ - public function __construct($userId) + public function __construct($user) { - $this->user = User::find($userId); + $this->user = $user; } /** diff --git a/app/Mail/AccountExpired.php b/app/Mail/AccountExpired.php index 24ab065b3..5c353d9c2 100644 --- a/app/Mail/AccountExpired.php +++ b/app/Mail/AccountExpired.php @@ -17,11 +17,11 @@ class AccountExpired extends Mailable /** * Create a new message instance. * - * @param $userId + * @param $user */ - public function __construct($userId) + public function __construct($user) { - $this->user = User::find($userId); + $this->user = $user; } /** diff --git a/app/Mail/PasswordReset.php b/app/Mail/PasswordReset.php index 10d3d01d6..914b85d0f 100644 --- a/app/Mail/PasswordReset.php +++ b/app/Mail/PasswordReset.php @@ -2,8 +2,8 @@ namespace App\Mail; -use App\Models\User; use App\Models\Settings; +use App\Models\User; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; @@ -12,19 +12,25 @@ class PasswordReset extends Mailable { use Queueable, SerializesModels; - public $user; - - public $newPass; + /** + * @var \App\Models\User + */ + private $user; /** - * Create a new message instance. - * - * @param $userId - * @param $newPass + * @var string */ - public function __construct($userId, $newPass) + private $newPass; + + /** + * PasswordReset constructor. + * + * @param \App\Models\User $user + * @param $newPass + */ + public function __construct($user, $newPass) { - $this->user = User::find($userId); + $this->user = $user; $this->newPass = $newPass; } diff --git a/app/Mail/SendInvite.php b/app/Mail/SendInvite.php index ef96d15f5..806dcfa90 100644 --- a/app/Mail/SendInvite.php +++ b/app/Mail/SendInvite.php @@ -2,8 +2,8 @@ namespace App\Mail; -use App\Models\User; use App\Models\Settings; +use App\Models\User; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; @@ -12,19 +12,25 @@ class SendInvite extends Mailable { use Queueable, SerializesModels; + /** + * @var \App\Models\User + */ public $user; + /** + * @var string + */ public $invite; /** - * Create a new message instance. + * SendInvite constructor. * - * @param $userId - * @param $invite + * @param \App\Models\User $user + * @param $invite */ - public function __construct($userId, $invite) + public function __construct($user, $invite) { - $this->user = User::find($userId); + $this->user = $user; $this->invite = $invite; }