From 19e4bfc95a0b30bc0bf18052f22465ffc46459c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Tue, 29 Jun 2021 09:12:16 +0200 Subject: [PATCH 1/2] fix forgotten $userPr --- resources/views/ticket/form-inputs.blade.php | 2 +- resources/views/ticket/index.blade.php | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/views/ticket/form-inputs.blade.php b/resources/views/ticket/form-inputs.blade.php index e015468..9e5bded 100644 --- a/resources/views/ticket/form-inputs.blade.php +++ b/resources/views/ticket/form-inputs.blade.php @@ -1,6 +1,6 @@ @include('modules.error-messages') @php -$userPr = Auth::user()->projects; +$userPr = Auth::user()->projects ?? collect([]); @endphp
diff --git a/resources/views/ticket/index.blade.php b/resources/views/ticket/index.blade.php index 78bb4b0..157e169 100644 --- a/resources/views/ticket/index.blade.php +++ b/resources/views/ticket/index.blade.php @@ -1,6 +1,9 @@ @extends('layout.app') @section('content') +@php +$userPr = Auth::user()->projects ?? collect([]); +@endphp

Gestion des tickets @if(request()->status) (Archivés) @endif From e164f46221b29340cb291e9508581051bfbf2682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Tue, 29 Jun 2021 09:12:35 +0200 Subject: [PATCH 2/2] send email with pwd to user on create --- app/Http/Controllers/UserController.php | 8 ++++ app/Jobs/SendUserCreatedEmail.php | 44 +++++++++++++++++++ app/Mail/UserCreatedMail.php | 37 ++++++++++++++++ app/Models/User.php | 10 +++++ .../views/emails/mail-created-plain.blade.php | 4 ++ resources/views/emails/mail-created.blade.php | 13 ++++++ 6 files changed, 116 insertions(+) create mode 100644 app/Jobs/SendUserCreatedEmail.php create mode 100644 app/Mail/UserCreatedMail.php create mode 100644 resources/views/emails/mail-created-plain.blade.php create mode 100644 resources/views/emails/mail-created.blade.php diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 8e43ef0..54d1443 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -3,10 +3,18 @@ namespace App\Http\Controllers; use App\Models\User; +use Illuminate\Database\Eloquent\Model; class UserController extends CrudController { /** @var User */ protected static $modelClass = User::class; + + public function storedModel(Model &$model) + { + /** @var \App\Models\User */ + $model = $model; + $model->sendMailConfirm(); + } } diff --git a/app/Jobs/SendUserCreatedEmail.php b/app/Jobs/SendUserCreatedEmail.php new file mode 100644 index 0000000..d17c49c --- /dev/null +++ b/app/Jobs/SendUserCreatedEmail.php @@ -0,0 +1,44 @@ +user = $user->withoutRelations(); + } + + /** + * Execute the job. + * + * @return void + */ + public function handle() + { + Mail::to(['email' => $this->user->email]) + ->send(new UserCreatedMail($this->user)); + Log::debug(sprintf('Sent %s to %s', UserCreatedMail::class, $this->user->email)); + } +} diff --git a/app/Mail/UserCreatedMail.php b/app/Mail/UserCreatedMail.php new file mode 100644 index 0000000..41f59cd --- /dev/null +++ b/app/Mail/UserCreatedMail.php @@ -0,0 +1,37 @@ +user = $user; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + return $this + ->subject(sprintf('%s : Votre compte a été crée', config('app.name'))) + ->view('emails.mail-created') + ->text('emails.mail-created-plain') + ->with('user', $this->user) + ->with('pwd', $this->user->tmpPass); + } +} diff --git a/app/Models/User.php b/app/Models/User.php index cbf45df..8e0f7ef 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -5,6 +5,7 @@ namespace App\Models; use App\Enums\CrudAction; use App\Enums\CrudType; use App\Enums\Role; +use App\Jobs\SendUserCreatedEmail; use App\Traits\IsCrudModel; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\SoftDeletes; @@ -30,6 +31,9 @@ class User extends Authenticatable protected $crudValueColumn = 'id'; + // stores unhashed pwd + public $tmpPass = null; + /** * The attributes that are mass assignable. * @@ -144,6 +148,7 @@ class User extends Authenticatable static::creating(function (User $user) { if (\is_null($user->password)) { $user->password = Str::random(10); + $user->tmpPass = $user->password; } if (Hash::needsRehash($user->password)) { $user->password = Hash::make($user->password); @@ -175,4 +180,9 @@ class User extends Authenticatable { return $this->belongsToMany(Project::class); } + + public function sendMailConfirm() + { + dispatch(new SendUserCreatedEmail($this)); + } } diff --git a/resources/views/emails/mail-created-plain.blade.php b/resources/views/emails/mail-created-plain.blade.php new file mode 100644 index 0000000..af3eb5b --- /dev/null +++ b/resources/views/emails/mail-created-plain.blade.php @@ -0,0 +1,4 @@ +Bonjour {{ $user->name }}, +Votre compte {{ config('app.name') }} vient d'être créé. Votre identifiant est votre email. +Votre mot de passe est le suivant: {{$pwd }} +Merci d'enregistrer celui-ci dans un gestionnaire de mot de passe et de supprimer cet email au plus vite. diff --git a/resources/views/emails/mail-created.blade.php b/resources/views/emails/mail-created.blade.php new file mode 100644 index 0000000..0bf4f87 --- /dev/null +++ b/resources/views/emails/mail-created.blade.php @@ -0,0 +1,13 @@ + + + + {{ config('app.name') }} + + + +

Bonjour {{ $user->name }},

+

Votre compte {{ config('app.name') }} vient d'être créé. Votre identifiant est votre email.

+

Votre mot de passe est le suivant : {{$pwd }}

+

Merci d'enregistrer celui-ci dans un gestionnaire de mot de passe et de supprimer cet email au plus vite.

+ +