Browse Source

Merge 667bd7c04a into b4ab6f0623

pull/16/merge
Yusuf Eka Sayogana 7 years ago
committed by GitHub
parent
commit
dfcf1153be
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 42
      app/Http/Controllers/UsersController.php
  2. 32
      resources/views/users/password.blade.php
  3. 2
      routes/web.php

42
app/Http/Controllers/UsersController.php

@ -3,6 +3,9 @@
namespace App\Http\Controllers;
use DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Storage;
use App\User;
use App\Couple;
@ -12,6 +15,15 @@ use App\Http\Requests\Users\UpdateRequest;
class UsersController extends Controller
{
/**
* UsersController constructor.
*/
public function __construct()
{
$this->middleware('auth',['only' => ['changePasswordForm','changePassword']]);
}
/**
* Search user by keyword.
*
* @return \Illuminate\Http\Response
@ -113,6 +125,36 @@ class UsersController extends Controller
return view('users.edit', compact('user', 'replacementUsers'));
}
public function changePasswordForm()
{
$user = Auth::user();
return view('users.password', compact('user'));
}
public function changePassword(Request $request)
{
$user = Auth::user();
$validator = Validator::make($request->all(),[
'old_password' => 'required|string|min:6|',
'new_password' => 'required|string|min:6|confirmed',
]);
$validator->after(function ($validator) use ($request,$user) {
if (Hash::check($request->old_password, $user->password)) {
$user->password = bcrypt($request->new_password);
$user->update();
}else{
$validator->errors()->add('old_password', 'Old password is wrong !');
}
});
if ($validator->fails()) {
return back()->withErrors($validator);
}
return redirect('/');
}
/**
* Update the specified User in storage.
*

32
resources/views/users/password.blade.php

@ -0,0 +1,32 @@
@extends('layouts.app')
@section('content')
<h2 class="page-header">
<div class="pull-right">
{{ link_to_route('users.show', trans('app.show_profile').' '.$user->name, [$user->id], ['class' => 'btn btn-default']) }}
</div>
Change Password
</h2>
<div class="row">
{{ Form::open(['route' => ['users.password'], 'method' =>'patch', 'autocomplete' => 'off']) }}
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">Change Password</h3></div>
<div class="panel-body">
{!! FormField::password('old_password', ['label' => 'Old Password']) !!}
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
{!! FormField::password('new_password', ['label' => 'New Password']) !!}
{!! FormField::password('new_password_confirmation', ['label' => 'New Password Confirm']) !!}
</div>
<div class="panel-footer">
{!! Form::submit(__('user.password'), ['class' => 'btn btn-success']) !!}
</div>
</div>
</div>
{{ Form::close() }}
</div>
@endsection

2
routes/web.php

@ -25,6 +25,8 @@ Route::post('family-actions/{user}/add-husband', 'FamilyActionsController@addHus
Route::post('family-actions/{user}/set-parent', 'FamilyActionsController@setParent')->name('family-actions.set-parent');
Route::get('profile-search', 'UsersController@search')->name('users.search');
Route::get('users/password', 'UsersController@changePasswordForm')->name('users.password.form');
Route::patch('users/password', 'UsersController@changePassword')->name('users.password');
Route::get('users/{user}', 'UsersController@show')->name('users.show');
Route::get('users/{user}/edit', 'UsersController@edit')->name('users.edit');
Route::patch('users/{user}', 'UsersController@update')->name('users.update');

Loading…
Cancel
Save