Browse Source

add change password feature

pull/15/head
Cendekia Pramana Putra 7 years ago
parent
commit
1231f5dc1e
  1. 25
      app/Http/Controllers/ChangePasswordController.php
  2. 39
      app/Http/Requests/Users/UpdatePasswordRequest.php
  3. 3
      resources/lang/en/auth.php
  4. 3
      resources/lang/id/auth.php
  5. 1
      resources/views/layouts/partials/nav.blade.php
  6. 74
      resources/views/users/change-password.blade.php
  7. 3
      routes/web.php

25
app/Http/Controllers/ChangePasswordController.php

@ -0,0 +1,25 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\Users\UpdatePasswordRequest;
class ChangePasswordController extends Controller
{
public function show()
{
return view('users.change-password');
}
public function update(UpdatePasswordRequest $request)
{
$user = \Auth::user();
$user->password = bcrypt($request->new_password);
if ($user->save()) $updateResponse = array('success' => trans('auth.change_password_success'));
else $updateResponse = array('error' => trans('auth.change_password_error'));
return redirect()->back()->with($updateResponse);
}
}

39
app/Http/Requests/Users/UpdatePasswordRequest.php

@ -0,0 +1,39 @@
<?php
namespace App\Http\Requests\Users;
use Illuminate\Foundation\Http\FormRequest;
class UpdatePasswordRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'old_password' => 'min:6|max:15|current_password',
'new_password' => 'min:6|max:15|same_password|confirmed',
];
}
public function messages()
{
return [
'old_password.current_password' => trans('passwords.old_password'),
'new_password.same_password' => trans('passwords.same_password'),
];
}
}

3
resources/lang/en/auth.php

@ -19,6 +19,7 @@ return [
'password' => 'Password', 'password' => 'Password',
'login' => 'Login', 'login' => 'Login',
'logout' => 'Logout', 'logout' => 'Logout',
'back' => 'Back',
'register' => 'Create new Account', 'register' => 'Create new Account',
'have_an_account' => 'I have an Account', 'have_an_account' => 'I have an Account',
'need_account' => 'Need an Account?', 'need_account' => 'Need an Account?',
@ -30,4 +31,6 @@ return [
'new_password' => 'New Password', 'new_password' => 'New Password',
'new_password_confirmation' => 'Repeat New Password', 'new_password_confirmation' => 'Repeat New Password',
'send_reset_password_link' => 'Send Reset Password Link', 'send_reset_password_link' => 'Send Reset Password Link',
'change_password_success' => 'Your password has changed',
'change_password_error' => 'Uh-oh, change password failed',
]; ];

3
resources/lang/id/auth.php

@ -19,6 +19,7 @@ return [
'password' => 'Password', 'password' => 'Password',
'login' => 'Login', 'login' => 'Login',
'logout' => 'Keluar', 'logout' => 'Keluar',
'back' => 'Kembali',
'register' => 'Buat Akun Baru', 'register' => 'Buat Akun Baru',
'have_an_account' => 'Saya sudah punya Akun', 'have_an_account' => 'Saya sudah punya Akun',
'need_account' => 'Belum punya Akun?', 'need_account' => 'Belum punya Akun?',
@ -30,4 +31,6 @@ return [
'new_password' => 'Password Baru', 'new_password' => 'Password Baru',
'new_password_confirmation' => 'Ulangi Password Baru', 'new_password_confirmation' => 'Ulangi Password Baru',
'send_reset_password_link' => 'Kirim Link Reset Password', 'send_reset_password_link' => 'Kirim Link Reset Password',
'change_password_success' => 'Password Anda sudah berhasil dirubah.',
'change_password_error' => 'Awww, sistem gagal merubah password Anda',
]; ];

1
resources/views/layouts/partials/nav.blade.php

@ -40,6 +40,7 @@
<ul class="dropdown-menu" role="menu"> <ul class="dropdown-menu" role="menu">
<li><a href="{{ route('backups.index') }}">{{ trans('backup.list') }}</a></li> <li><a href="{{ route('backups.index') }}">{{ trans('backup.list') }}</a></li>
<li><a href="{{ route('profile') }}">{{ trans('app.my_profile') }}</a></li> <li><a href="{{ route('profile') }}">{{ trans('app.my_profile') }}</a></li>
<li><a href="{{ route('profile.change-password.form') }}">Ganti Password</a></li>
<li> <li>
<a href="{{ route('logout') }}" <a href="{{ route('logout') }}"
onclick="event.preventDefault(); onclick="event.preventDefault();

74
resources/views/users/change-password.blade.php

@ -0,0 +1,74 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">{{ trans('auth.change_password') }}</div>
<div class="panel-body">
@if (session('success') or session('error'))
<div class="alert alert-{{ session('success') ? 'success' : 'danger' }}">
{{ session('success') ?: session('error')}}
</div>
@endif
<form class="form-horizontal" role="form" method="POST" action="{{ route('profile.change-password.update') }}">
{{ csrf_field() }}
<div class="form-group{{ $errors->has('old_password') ? ' has-error' : '' }}">
<label for="old_password" class="col-md-4 control-label">{{ trans('auth.old_password') }}</label>
<div class="col-md-6">
<input id="old_password" type="password" class="form-control" name="old_password" placeholder="******">
@if ($errors->has('old_password'))
<span class="help-block">
<strong>{{ $errors->first('old_password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group{{ $errors->has('new_password') ? ' has-error' : '' }}">
<label for="new_password" class="col-md-4 control-label">{{ trans('auth.new_password') }}</label>
<div class="col-md-6">
<input id="new_password" type="password" class="form-control" name="new_password" placeholder="******">
@if ($errors->has('new_password'))
<span class="help-block">
<strong>{{ $errors->first('new_password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group{{ $errors->has('new_password_confirmation') ? ' has-error' : '' }}">
<label for="new_password-confirm" class="col-md-4 control-label">{{ trans('auth.new_password_confirmation') }}</label>
<div class="col-md-6">
<input id="new_password-confirm" type="password" class="form-control" name="new_password_confirmation" placeholder="******">
@if ($errors->has('new_password_confirmation'))
<span class="help-block">
<strong>{{ $errors->first('new_password_confirmation') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary">
{{ trans('auth.change_password') }}
</button>
<a href="{{ url()->previous() }}" class="btn">
{{ trans('auth.back') }}
</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

3
routes/web.php

@ -24,6 +24,9 @@ Route::post('family-actions/{user}/add-wife', 'FamilyActionsController@addWife')
Route::post('family-actions/{user}/add-husband', 'FamilyActionsController@addHusband')->name('family-actions.add-husband'); Route::post('family-actions/{user}/add-husband', 'FamilyActionsController@addHusband')->name('family-actions.add-husband');
Route::post('family-actions/{user}/set-parent', 'FamilyActionsController@setParent')->name('family-actions.set-parent'); Route::post('family-actions/{user}/set-parent', 'FamilyActionsController@setParent')->name('family-actions.set-parent');
Route::get('profile/update-password', 'ChangePasswordController@show')->middleware('auth')->name('profile.change-password.form');
Route::post('profile/update-password', 'ChangePasswordController@update')->middleware('auth')->name('profile.change-password.update');
Route::get('profile-search', 'UsersController@search')->name('users.search'); Route::get('profile-search', 'UsersController@search')->name('users.search');
Route::get('users/{user}', 'UsersController@show')->name('users.show'); Route::get('users/{user}', 'UsersController@show')->name('users.show');
Route::get('users/{user}/edit', 'UsersController@edit')->name('users.edit'); Route::get('users/{user}/edit', 'UsersController@edit')->name('users.edit');

Loading…
Cancel
Save