diff --git a/app/Http/Controllers/Admin/Core/Mail/MailTemplateController.php b/app/Http/Controllers/Admin/Core/Mail/MailTemplateController.php index c39195ef..537f802b 100644 --- a/app/Http/Controllers/Admin/Core/Mail/MailTemplateController.php +++ b/app/Http/Controllers/Admin/Core/Mail/MailTemplateController.php @@ -56,9 +56,9 @@ class MailTemplateController extends Controller return view('Admin.Core.Mail.MailTemplate.partials.vars', $data); } - public function preview($template_id, $user_id) + public function preview($template_id, $model_id) { - return MailTemplates::preview($template_id, $user_id); + return MailTemplates::preview($template_id, $model_id); } public function modalPreview($template_id) diff --git a/app/Mail/Acheminement.php b/app/Mail/Acheminement.php index 0f1faa84..482b18da 100644 --- a/app/Mail/Acheminement.php +++ b/app/Mail/Acheminement.php @@ -3,15 +3,14 @@ namespace App\Mail; use App\Models\Core\Mail\MailTemplate; +use App\Repositories\Shop\Traits\MailCustomers; use Illuminate\Bus\Queueable; -use Illuminate\Mail\Mailables\Address; -use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; use Spatie\MailTemplates\TemplateMailable; class Acheminement extends TemplateMailable { - use Queueable, SerializesModels; + use MailCustomers, Queueable, SerializesModels; protected static $templateModelClass = MailTemplate::class; @@ -29,12 +28,4 @@ class Acheminement extends TemplateMailable $this->male = $user->gender == 1; $this->subject = $subject; } - - public function envelope() - { - return new Envelope( - from: new Address('boutique@jardinenvie.com', 'Boutique Jardin\'Envie'), - subject: $this->subject, - ); - } } diff --git a/app/Mail/Bienvenue.php b/app/Mail/Bienvenue.php index 860616d8..68df7abf 100644 --- a/app/Mail/Bienvenue.php +++ b/app/Mail/Bienvenue.php @@ -3,38 +3,33 @@ namespace App\Mail; use App\Models\Core\Mail\MailTemplate; +use App\Repositories\Shop\Traits\MailCustomers; use Illuminate\Bus\Queueable; -use Illuminate\Mail\Mailables\Address; -use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; use Spatie\MailTemplates\TemplateMailable; class Bienvenue extends TemplateMailable { - use Queueable, SerializesModels; + use MailCustomers, Queueable, SerializesModels; protected static $templateModelClass = MailTemplate::class; - public $user; + public $email; - public $male; + public $nom; + + public $prenom; + + public $societe; public $subject; - public $url; - public function __construct($user, $subject = '') { - $this->user = $user; - $this->male = $user->gender == 1; + $this->prenom = $user->first_name; + $this->nom = $user->last_name; + $this->societe = $user->society; + $this->email = $user->email; $this->subject = $subject; } - - public function envelope() - { - return new Envelope( - from: new Address('boutique@jardinenvie.com', 'Jardin\'en\'Vie'), - subject: $this->subject, - ); - } } diff --git a/app/Mail/ConfirmationCommande.php b/app/Mail/ConfirmationCommande.php index ab6052ce..9b74db5b 100644 --- a/app/Mail/ConfirmationCommande.php +++ b/app/Mail/ConfirmationCommande.php @@ -3,15 +3,14 @@ namespace App\Mail; use App\Models\Core\Mail\MailTemplate; +use App\Repositories\Shop\Traits\MailCustomers; use Illuminate\Bus\Queueable; -use Illuminate\Mail\Mailables\Address; -use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; use Spatie\MailTemplates\TemplateMailable; class ConfirmationCommande extends TemplateMailable { - use Queueable, SerializesModels; + use MailCustomers, Queueable, SerializesModels; protected static $templateModelClass = MailTemplate::class; @@ -21,20 +20,10 @@ class ConfirmationCommande extends TemplateMailable public $subject; - public $url; - public function __construct($user, $subject = '') { $this->user = $user; $this->male = $user->gender == 1; $this->subject = $subject; } - - public function envelope() - { - return new Envelope( - from: new Address('boutique@jardinenvie.com', 'Boutique Jardin\'Envie'), - subject: $this->subject, - ); - } } diff --git a/app/Mail/Preparation.php b/app/Mail/Preparation.php index f605be0a..4f142d72 100644 --- a/app/Mail/Preparation.php +++ b/app/Mail/Preparation.php @@ -3,38 +3,33 @@ namespace App\Mail; use App\Models\Core\Mail\MailTemplate; +use App\Repositories\Shop\Traits\MailCustomers; use Illuminate\Bus\Queueable; -use Illuminate\Mail\Mailables\Address; -use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; use Spatie\MailTemplates\TemplateMailable; class Preparation extends TemplateMailable { - use Queueable, SerializesModels; + use MailCustomers, Queueable, SerializesModels; protected static $templateModelClass = MailTemplate::class; - public $user; + public $email; - public $male; + public $nom; + + public $prenom; + + public $societe; public $subject; - public $url; - public function __construct($user, $subject = '') { - $this->user = $user; - $this->male = $user->gender == 1; + $this->prenom = $user->first_name; + $this->nom = $user->last_name; + $this->societe = $user->society; + $this->email = $user->email; $this->subject = $subject; } - - public function envelope() - { - return new Envelope( - from: new Address('boutique@jardinenvie.com', 'Boutique Jardin\'Envie'), - subject: $this->subject, - ); - } } diff --git a/app/Repositories/Core/Mail/MailTemplates.php b/app/Repositories/Core/Mail/MailTemplates.php index 2ce1bc93..6100f8df 100644 --- a/app/Repositories/Core/Mail/MailTemplates.php +++ b/app/Repositories/Core/Mail/MailTemplates.php @@ -38,16 +38,17 @@ class MailTemplates return [ 'id' => $id, - 'users' => $mailable::getUsers(), + 'list' => $mailable::getContext(), ]; } - public static function preview($id, $user_id) + public static function preview($id, $model_id) { $template = self::get($id); $mailable = $template->mailable; - $data = $mailable::getDataByUser($user_id); - $html_template = $template->toArray()['html_template_translations'][$data['lang']] ?? false; + $data = $mailable::getData($model_id); + + $html_template = $template->toArray()['html_template_translations'][$data['lang'] ?? 'fr'] ?? false; if ($html_template) { $m = new Mustache_Engine(); diff --git a/app/Repositories/Shop/Customers.php b/app/Repositories/Shop/Customers.php index 4950d62d..04d2d941 100644 --- a/app/Repositories/Shop/Customers.php +++ b/app/Repositories/Shop/Customers.php @@ -18,6 +18,11 @@ class Customers return Customer::count(); } + public static function getOptions() + { + return Customer::pluck('last_name', 'id'); + } + public static function editProfile($id = false) { $id = $id ? $id : self::getId(); diff --git a/app/Repositories/Shop/Traits/MailCustomers.php b/app/Repositories/Shop/Traits/MailCustomers.php new file mode 100644 index 00000000..884be200 --- /dev/null +++ b/app/Repositories/Shop/Traits/MailCustomers.php @@ -0,0 +1,41 @@ + $user->first_name, + 'nom' => $user->last_name, + 'societe' => $user->society, + 'email' => $user->email, + ] : false; + } + + public static function getUser($id) + { + return Customers::get($id); + } + + public function envelope() + { + return new Envelope( + from: new Address('boutique@jardinenvie.com', 'Jardin\'en\'Vie'), + subject: $this->subject, + ); + } +} diff --git a/resources/views/Admin/Core/Mail/MailTemplate/partials/modalPreview.blade.php b/resources/views/Admin/Core/Mail/MailTemplate/partials/modalPreview.blade.php index 0256d3b0..ce34bca1 100644 --- a/resources/views/Admin/Core/Mail/MailTemplate/partials/modalPreview.blade.php +++ b/resources/views/Admin/Core/Mail/MailTemplate/partials/modalPreview.blade.php @@ -5,9 +5,9 @@