From 2921cbdcbdffaa007fc6609ee88976c041315a5b Mon Sep 17 00:00:00 2001 From: Giovanni-Josserand Date: Wed, 18 Mar 2026 11:48:54 +0100 Subject: [PATCH] create a mail when a user is assigned to a task by an administrator --- app/Http/Controllers/TasksController.php | 16 +++-- app/Mail/TaskParticipationCancelledMail.php | 2 +- app/Mail/VolunteerAssignToTaskMail.php | 61 +++++++++++++++++++ .../mails/volunteerAssignToTask.blade.php | 32 ++++++++++ 4 files changed, 104 insertions(+), 7 deletions(-) create mode 100644 app/Mail/VolunteerAssignToTaskMail.php create mode 100644 resources/views/mails/volunteerAssignToTask.blade.php diff --git a/app/Http/Controllers/TasksController.php b/app/Http/Controllers/TasksController.php index 3ed7c34..b3bc29d 100644 --- a/app/Http/Controllers/TasksController.php +++ b/app/Http/Controllers/TasksController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use App\Events\TaskParticipationCancelled; use App\Events\VolunteerAssignedToTask; use App\Events\VolunteerUnassignedFromTask; +use App\Mail\VolunteerAssignToTaskMail; use App\Models\Events; use App\Models\Task; use App\Models\User; @@ -96,6 +97,15 @@ class TasksController extends Controller $task, $event )); + + $data = [ + 'name' => $user->name, + 'lastname' => $user->lastname, + 'taskName' => $task->name, + 'start' => $task->start, + 'end' => $task->end, + ]; + Mail::to($user->email)->send(new VolunteerAssignToTaskMail($data)); } return response()->json(['message' => "Task assigned"], 200); @@ -186,10 +196,6 @@ class TasksController extends Controller } } - - - - public function unassignSelf(Request $request): JsonResponse { try { $task = Task::find($request["task_id"]); @@ -209,8 +215,6 @@ class TasksController extends Controller } } - - public function unassignUser(Request $request, int $id): JsonResponse { if(Gate::denies('unassignOther', Task::class)) { diff --git a/app/Mail/TaskParticipationCancelledMail.php b/app/Mail/TaskParticipationCancelledMail.php index 2120c16..9e59614 100644 --- a/app/Mail/TaskParticipationCancelledMail.php +++ b/app/Mail/TaskParticipationCancelledMail.php @@ -28,7 +28,7 @@ class TaskParticipationCancelledMail extends Mailable public function envelope(): Envelope { return new Envelope( - subject: 'Tâche supprimé - Comité des fêtes de Beaupont', + subject: 'Tâche supprimée - Comité des fêtes de Beaupont', ); } diff --git a/app/Mail/VolunteerAssignToTaskMail.php b/app/Mail/VolunteerAssignToTaskMail.php new file mode 100644 index 0000000..a190c78 --- /dev/null +++ b/app/Mail/VolunteerAssignToTaskMail.php @@ -0,0 +1,61 @@ +data = $data; + } + + /** + * Get the message envelope. + */ + public function envelope(): Envelope + { + return new Envelope( + subject: 'Assignation - Comité des fêtes de Beaupont', + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + return new Content( + view: 'mails.volunteerAssignToTask', + with: [ + 'name' => $this->data['name'], + 'lastname' => $this->data['lastname'], + 'taskName' => $this->data['taskName'], + 'start' => $this->data['start'], + 'end' => $this->data['end'], + ] + ); + } + + /** + * Get the attachments for the message. + * + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/resources/views/mails/volunteerAssignToTask.blade.php b/resources/views/mails/volunteerAssignToTask.blade.php new file mode 100644 index 0000000..cfebaba --- /dev/null +++ b/resources/views/mails/volunteerAssignToTask.blade.php @@ -0,0 +1,32 @@ + + + + + + Assignation + + +
+

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

+ +

+ Vous avez été assigné à la tâche {{ $taskName }} par un administrateur. + Cette tâche aura lieu de {{ $start }} à {{ $end }}. +

+ +

+ Si vous pensez qu’il s’agit d’une erreur ou si vous souhaitez plus d’informations, + merci de contacter l’équipe du Comité des fêtes de Beaupont. +

+ +

+ À 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. +

+ +