diff --git a/app/Http/Controllers/ChangePasswordController.php b/app/Http/Controllers/ChangePasswordController.php new file mode 100644 index 0000000..cee1153 --- /dev/null +++ b/app/Http/Controllers/ChangePasswordController.php @@ -0,0 +1,40 @@ +middleware('auth'); + } + + public function create() + { + return view('changePassword'); + } + + + public function update(Request $request) + { + $request->validate([ + 'current_password' => new ComparePasswords, + 'password' => 'required|confirmed|min:6|different:current_password', + ], + [ + 'required' => 'Podaj nowe hasło.', + 'confirmed' => 'Nowe hasło się nie zgadza.', + 'min' => ':attribute musi mieć przynajmniej :min znaków.', + 'different' => 'Stare i nowe hasło nie mogą być identyczne.' + ]); + + User::find(auth()->user()->id)->update(['password'=> $request-> password]); + + return redirect()->to('/userprofile')->with('success','Hasło zostało zmienione'); + } +} \ No newline at end of file diff --git a/app/Rules/ComparePasswords.php b/app/Rules/ComparePasswords.php new file mode 100644 index 0000000..b697935 --- /dev/null +++ b/app/Rules/ComparePasswords.php @@ -0,0 +1,41 @@ +user()->password); + } + + /** + * Get the validation error message. + * + * @return string + */ + public function message() + { + return 'Obecne hasło jest niepoprawne.'; + } +} diff --git a/resources/views/changePassword.blade.php b/resources/views/changePassword.blade.php new file mode 100644 index 0000000..7128616 --- /dev/null +++ b/resources/views/changePassword.blade.php @@ -0,0 +1,60 @@ +@extends('layout.app') + +@section('left-menu') + @parent +