]> _ Git - pmi.git/commitdiff
wait #6256 @2:00
authorsoufiane <soufiane@cubedesigners.com>
Thu, 7 Sep 2023 15:20:53 +0000 (17:20 +0200)
committersoufiane <soufiane@cubedesigners.com>
Thu, 7 Sep 2023 15:20:53 +0000 (17:20 +0200)
app/Events/ClientApproved.php [new file with mode: 0644]
app/Models/Client.php

diff --git a/app/Events/ClientApproved.php b/app/Events/ClientApproved.php
new file mode 100644 (file)
index 0000000..49a7cf3
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+
+namespace App\Events;
+
+use Illuminate\Queue\SerializesModels;
+use App\Models\Client;
+use Illuminate\Support\Facades\Mail;
+
+class ClientApproved
+{
+    use SerializesModels;
+    public function __construct(Client $client)
+    {
+        $statutAfterSaved = $client->getAttribute('status');
+        $email = $client->email;
+
+        if(array_key_exists("status",$client->getChanges()) && $statutAfterSaved) {
+            $contents = "Bonjour \n\n";
+            $contents .= "Votre compte client PM Instrumentation a été validé ! \n\n";
+            $contents .= "Vous pouvez dès à présent vous connecter sur ". url("/se-connecter") ." et visualiser les tarifs, sauvegarder vos paniers, créer vos devis personnalisés et générer vos bons de commande.\n\n";
+            $contents .= "Nous espérons que cet outil vous sera utile, et restons à votre écoute pour toute question ou correction.\n\n";
+            $contents .= "Bien à vous,\n\n";
+            $contents .= "L’equipe PM Instrumentation";
+
+            Mail::raw($contents, function ($message) use($email) {
+                $message->from(config('mail.from.address'), config('mail.from.name'));
+                $message->sender(config('mail.from.address'), config('mail.from.name'));
+                $message->to($email);
+                $message->subject("[PM Intrumentation] Votre compte client PM Instrumentation a été validé");
+            });
+        }
+    }
+}
index 9fdb73b3328a15a0561c79d527991fee1b2719d9..e167edb6d87fe624c36ddc6093b5a003ac793ef4 100644 (file)
@@ -4,6 +4,7 @@ namespace App\Models;
 use Cubist\Backpack\app\Magic\Models\CubistMagicAbstractModel;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Notifications\Notifiable;
+use App\Events\ClientApproved;
 
 class Client extends CubistMagicAbstractModel
 {
@@ -14,6 +15,10 @@ class Client extends CubistMagicAbstractModel
         'singular' => 'Client',
         'plural' => 'Clients'];
 
+    protected $dispatchesEvents = [
+        'saved' => ClientApproved::class
+    ];
+
     public function setFields()
     {
         parent::setFields();