diff --git a/app/Http/Controllers/SecurityController.php b/app/Http/Controllers/SecurityController.php index db9ff96..5d4cbf5 100755 --- a/app/Http/Controllers/SecurityController.php +++ b/app/Http/Controllers/SecurityController.php @@ -2,8 +2,11 @@ namespace App\Http\Controllers; +use App\Mail\ForgotPassword; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; +use Illuminate\Support\Facades\Mail; +use Illuminate\Support\Str; class SecurityController extends Controller { @@ -108,6 +111,28 @@ class SecurityController extends Controller } } + public function formForgotPassword(Request $request) + { + $request->validate([ + "email" => "required", + ]); + $user = \App\User::where("email", $request->input("email"))->first(); + if ($user != null) { + $name = $user->name; + $newPassword = Str::random(4); + $user->password = Hash::make($newPassword); + Mail::to($user->email)->send(new ForgotPassword($name, $newPassword)); + $user->save(); + return response()->json([ + "message" => "Please check your email", + ], 200); + } else { + return response()->json([ + "message" => "Email " . $request->input('email') . " is not exist", + ], 400); + } + } + public function formLogout(Request $request) { $request->session()->flush(); diff --git a/app/Mail/ForgotPassword.php b/app/Mail/ForgotPassword.php index 51646fe..8a44642 100644 --- a/app/Mail/ForgotPassword.php +++ b/app/Mail/ForgotPassword.php @@ -3,7 +3,6 @@ namespace App\Mail; use Illuminate\Bus\Queueable; -use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; @@ -11,14 +10,19 @@ class ForgotPassword extends Mailable { use Queueable, SerializesModels; + public $name; + public $password; + /** * Create a new message instance. * - * @return void + * @param $name + * @param $password */ - public function __construct() + public function __construct($name, $password) { - // + $this->name = $name; + $this->password = $password; } /** @@ -28,6 +32,6 @@ class ForgotPassword extends Mailable */ public function build() { - return $this->view('view.name'); + return $this->view('template.email.forgot'); } } diff --git a/resources/views/forgot.blade.php b/resources/views/forgot.blade.php index b2d75ed..10c6f87 100755 --- a/resources/views/forgot.blade.php +++ b/resources/views/forgot.blade.php @@ -41,7 +41,7 @@

Forgot Password

-
+
@@ -72,17 +72,16 @@