Merge branch 'develop' into trunk

This commit is contained in:
Jérémy Munsch 2022-06-22 10:15:54 +02:00
commit b48bb82202
No known key found for this signature in database
GPG key ID: 18361AF3BFEC0FEC
2 changed files with 15 additions and 4 deletions

View file

@ -278,7 +278,9 @@ class EmployeesController extends Controller
public function passwordForgottenSubmit(EmployeeForgottenPasswordRequest $request)
{
/** @var \App\Models\Employee */
$employee = Employee::where('matricule', $request->matricule)->firstOrFail();
/** @var \App\Models\EmployeeMailToken */
$token = $employee->token ?? new EmployeeMailToken();
$token->fill([
'email' => $employee->email,
@ -286,7 +288,9 @@ class EmployeesController extends Controller
]);
$token->saveOrFail();
$token->employee()->associate($token);
SendMailResetPasswordToEmployee::dispatchAfterResponse($employee);
$token->saveOrFail();
$employee->saveOrFail();
SendMailResetPasswordToEmployee::dispatchAfterResponse($employee, $token);
return \redirect()->back()->with('successMail', true);
}

View file

@ -4,6 +4,7 @@ namespace App\Jobs;
use App\Mail\EmployeePasswordResetMail;
use App\Models\Employee;
use App\Models\EmployeeMailToken;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
@ -19,16 +20,22 @@ class SendMailResetPasswordToEmployee implements ShouldQueue
use Queueable;
use SerializesModels;
/** @var \App\Models\Employee */
protected $employee;
/** @var \App\Models\EmployeeMailToken */
protected $token;
/**
* Create a new job instance.
*
* @return void
* @param \App\Models\Employee $employee
* @param \App\Models\EmployeeMailToken $token
*/
public function __construct(Employee $employee)
public function __construct(Employee $employee, EmployeeMailToken $token)
{
$this->employee = $employee;
$this->token = $token;
}
/**
@ -38,7 +45,7 @@ class SendMailResetPasswordToEmployee implements ShouldQueue
*/
public function handle()
{
Mail::to(['email' => $this->employee->token->email])->send(new EmployeePasswordResetMail($this->employee));
Mail::to(['email' => $this->token->email])->send(new EmployeePasswordResetMail($this->employee));
Log::debug(sprintf('Sent %s to %s', EmployeePasswordResetMail::class, config('mail.contactsList.contact')));
}
}