diff --git a/app/Http/Controllers/Auth/ChangePasswordController.php b/app/Http/Controllers/Auth/ChangePasswordController.php new file mode 100644 index 0000000..d2c451c --- /dev/null +++ b/app/Http/Controllers/Auth/ChangePasswordController.php @@ -0,0 +1,47 @@ +middleware('auth'); + } + + public function show() + { + return view('auth.passwords.change'); + } + + public function update(Request $request) + { + $input = $request->validate([ + 'old_password' => 'required', + 'password' => 'required|between:6,15|confirmed', + 'password_confirmation' => 'required', + ]); + + if (app('hash')->check($input['old_password'], auth()->user()->password)) + { + $user = auth()->user(); + $user->password = $input['password']; + $user->save(); + + flash(trans('auth.password_changed'), 'success'); + return back(); + } + + flash(trans('auth.old_password_failed'), 'danger'); + return back(); + } + +} diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 70251a9..e2770f7 100755 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -15,23 +15,15 @@ use Illuminate\Http\Request; class AuthController extends Controller { - use ResetsPasswords, ThrottlesLogins; + use ThrottlesLogins; public function __construct(Guard $auth, PasswordBroker $passwords) { $this->auth = $auth; $this->passwords = $passwords; - $this->middleware('guest', ['only' => [ - 'getLogin', 'postLogin', 'getRegister', 'postRegister', - 'getActivate' - ] - ]); - $this->middleware('auth', ['only' => [ - 'getLogout', 'getChangePassword', 'postChangePassword', - 'getProfile', 'patchProfile' - ] - ]); + $this->middleware('guest', ['only' => ['getLogin', 'postLogin', 'getRegister', 'postRegister']]); + $this->middleware('auth', ['only' => ['getLogout', 'getProfile', 'patchProfile']]); } public function getLogin() @@ -79,33 +71,6 @@ class AuthController extends Controller return redirect()->route('home'); } - public function getActivate($code) - { - } - - public function getChangePassword() - { - return view('auth.change-password'); - } - - public function postChangePassword(ChangePasswordRequest $request) - { - $input = $request->except('_token'); - - $user = auth()->user(); - - if (app('hash')->check($input['old_password'], $user->password)) { - $user->password = $input['password']; - $user->save(); - - flash()->success(trans('auth.password_changed')); - return redirect()->back(); - } - - flash()->error('Password lama tidak cocok!'); - return redirect()->back(); - } - public function getProfile() { $user = Auth::user(); diff --git a/app/Http/Requests/Accounts/ChangePasswordRequest.php b/app/Http/Requests/Accounts/ChangePasswordRequest.php deleted file mode 100644 index 86aef52..0000000 --- a/app/Http/Requests/Accounts/ChangePasswordRequest.php +++ /dev/null @@ -1,43 +0,0 @@ -check(); - } - - /** - * Get the validation rules that apply to the request. - * - * @return array - */ - public function rules() - { - return [ - 'old_password' => 'required', - 'password' => 'required|between:6,15|confirmed', - 'password_confirmation' => 'required', - ]; - } - - public function messages() - { - return [ - 'old_password.required' => 'Password lama harus diisi.', - 'password.required' => 'Password baru harus diisi.', - 'password.between' => 'Password baru harus antara 6 - 15 karakter.', - 'password.confirmed' => 'Konfirmasi password baru tidak sesuai.', - 'password_confirmation.required' => 'Konfirmasi password baru harus diisi.', - ]; - } -} diff --git a/resources/views/auth/change-password.blade.php b/resources/views/auth/passwords/change.blade.php similarity index 92% rename from resources/views/auth/change-password.blade.php rename to resources/views/auth/passwords/change.blade.php index 8c3bd48..da3570f 100644 --- a/resources/views/auth/change-password.blade.php +++ b/resources/views/auth/passwords/change.blade.php @@ -9,7 +9,7 @@
- {!! Form::open(['route'=>'auth.change-password']) !!} + {!! Form::open(['route'=>'auth.change-password', 'method' => 'patch']) !!}
{!! FormField::password('old_password', ['label' => false, 'placeholder' => trans('auth.old_password')]) !!} {!! FormField::password('password', ['label' => false, 'placeholder' => trans('auth.new_password')]) !!} diff --git a/routes/web/account.php b/routes/web/account.php index baaf56b..a66b125 100644 --- a/routes/web/account.php +++ b/routes/web/account.php @@ -9,12 +9,14 @@ Route::group(['middleware' => 'web','as'=>'auth.'], function() { Route::get('register', ['as'=>'register', 'uses' => 'AuthController@getRegister']); Route::post('register', ['as'=>'register', 'uses' => 'AuthController@postRegister']); Route::get('activate', ['as'=>'activate', 'uses' => 'AuthController@getActivate']); - Route::get('change-password', ['as'=>'change-password', 'uses' => 'AuthController@getChangePassword']); - Route::post('change-password', ['as'=>'change-password', 'uses' => 'AuthController@postChangePassword']); Route::get('profile', ['as'=>'profile', 'uses' => 'AuthController@getProfile']); Route::patch('profile', ['as'=>'profile', 'uses' => 'AuthController@patchProfile']); }); +// Change Password Routes... +Route::get('change-password', 'Auth\ChangePasswordController@show')->name('auth.change-password'); +Route::patch('change-password', 'Auth\ChangePasswordController@update')->name('auth.change-password'); + // Password Reset Routes... Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('auth.reset-request'); Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('auth.reset-email');