From 96973f788436b5dd5f9bbc4ef828897be475e812 Mon Sep 17 00:00:00 2001 From: Giovanni-Josserand Date: Wed, 18 Mar 2026 09:53:42 +0100 Subject: [PATCH] create a mail when the role of the user is updated --- app/Http/Controllers/UserController.php | 10 ++++ app/Mail/UpdateRoleMail.php | 59 ++++++++++++++++++++++ app/Services/GetRole.php | 1 + resources/views/mails/updateRole.blade.php | 35 +++++++++++++ 4 files changed, 105 insertions(+) create mode 100644 app/Mail/UpdateRoleMail.php create mode 100644 resources/views/mails/updateRole.blade.php diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index df31d4f..00117dd 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -7,6 +7,7 @@ use App\Mail\CreateUserByAdminMail; use App\Mail\DeactivateAccountMail; use App\Mail\DeleteAccountMail; use App\Mail\TestMail; +use App\Mail\UpdateRoleMail; use App\Mail\ValidateMail; use App\Models\Notification; use App\Models\User; @@ -252,6 +253,15 @@ class UserController extends Controller $user->save(); $role = \App\Services\GetRole::getRole($request['role']); + + $data = [ + 'name' => $user->name, + 'lastname' => $user->lastname, + 'role' => $role, + ]; + Mail::to($user->email)->send(new UpdateRoleMail($data)); + + $notification = Notification::create([ 'content' => "Votre rôle à changé pour {$role} !", ]); diff --git a/app/Mail/UpdateRoleMail.php b/app/Mail/UpdateRoleMail.php new file mode 100644 index 0000000..64eb863 --- /dev/null +++ b/app/Mail/UpdateRoleMail.php @@ -0,0 +1,59 @@ +data = $data; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: 'Rôle mis à jour - Comité des fêtes de Beaupont', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + view: 'mails.updateRole', + with: [ + 'name' => $this->data['name'], + 'lastname' => $this->data['lastname'], + 'role' => $this->data['role'], + ] + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/app/Services/GetRole.php b/app/Services/GetRole.php index d1ae26e..d752d7d 100644 --- a/app/Services/GetRole.php +++ b/app/Services/GetRole.php @@ -6,6 +6,7 @@ class GetRole { public static function getRole($role) { + $role = (int)$role; return match ($role) { 1 => "Président", 2 => "Gérant", diff --git a/resources/views/mails/updateRole.blade.php b/resources/views/mails/updateRole.blade.php new file mode 100644 index 0000000..4b5d00a --- /dev/null +++ b/resources/views/mails/updateRole.blade.php @@ -0,0 +1,35 @@ + + + + + + Rôle mis à jour + + +
+

Bonjour {{ $name }} {{ $lastname }},

+ +

+ Votre rôle sur le site de gestion des bénévoles du Comité des fêtes de Beaupont + a été mis à jour par un administrateur. +

+ +

+ Vous êtes désormais : {{ $role }} +

+ +

+ Si vous avez des questions concernant ce changement, n’hésitez pas à contacter l’équipe organisatrice. +

+ +

+ À très bientôt,
+ L’équipe du Comité des fêtes de Beaupont +

+
+ +

+ Cet email a été envoyé automatiquement, merci de ne pas y répondre. +

+ +