Skip to content

Commit 07ee76b

Browse files
committed
Integrated default Laravel password reset function.
1 parent cf93544 commit 07ee76b

File tree

11 files changed

+197
-25
lines changed

11 files changed

+197
-25
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"email": "[email protected]"
1212
}
1313
],
14-
"version": "0.2.4",
14+
"version": "0.2.6",
1515
"require": {
1616
"illuminate/html": "5.0.*@dev"
1717
},
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use Illuminate\Foundation\Auth\ResetsPasswords;
7+
8+
class PasswordController extends Controller
9+
{
10+
/*
11+
|--------------------------------------------------------------------------
12+
| Password Reset Controller
13+
|--------------------------------------------------------------------------
14+
|
15+
| This controller is responsible for handling password reset requests
16+
| and uses a simple trait to include this behavior. You're free to
17+
| explore this trait and override any methods you wish to tweak.
18+
|
19+
*/
20+
21+
use ResetsPasswords;
22+
23+
protected $redirectTo = '';
24+
25+
/**
26+
* Create a new password controller instance.
27+
*
28+
* @return void
29+
*/
30+
public function __construct()
31+
{
32+
$this->redirectTo = config('quickadmin.route');
33+
$this->middleware('guest');
34+
}
35+
}

src/Controllers/publish/UsersController

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
55
use App\Role;
66
use App\User;
77
use Illuminate\Http\Request;
8+
use Illuminate\Support\Facades\Hash;
89

910
class UsersController extends Controller
1011
{
@@ -39,7 +40,9 @@ class UsersController extends Controller
3940
*/
4041
public function store(Request $request)
4142
{
42-
$user = User::create($request->all());
43+
$input = $request->all();
44+
$input['password'] = Hash::make($input['password']);
45+
$user = User::create($input);
4346

4447
return redirect()->route('users.index')->withMessage('User was successfully created!');
4548
}
@@ -70,7 +73,9 @@ class UsersController extends Controller
7073
public function update(Request $request, $id)
7174
{
7275
$user = User::findOrFail($id);
73-
$user->update($request->all());
76+
$input = $request->all();
77+
$input['password'] = Hash::make($input['password']);
78+
$user->update($input);
7479

7580
return redirect()->route('users.index')->withMessage('User was successfully updated!');
7681
}

src/Models/publish/User

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ use Illuminate\Foundation\Auth\Access\Authorizable;
99
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
1010
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
1111
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
12-
use Illuminate\Support\Facades\Hash;
1312
use Laraveldaily\Quickadmin\Traits\AdminPermissionsTrait;
1413

1514
class User extends Model implements AuthenticatableContract,
@@ -38,13 +37,4 @@ class User extends Model implements AuthenticatableContract,
3837
* @var array
3938
*/
4039
protected $hidden = ['password', 'remember_token'];
41-
42-
/**
43-
* Hash user password
44-
* @param $input
45-
*/
46-
public function setPasswordAttribute($input)
47-
{
48-
$this->attributes['password'] = Hash::make($input);
49-
}
5040
}

src/QuickadminServiceProvider.php

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,16 @@ public function boot()
2121
$this->loadViewsFrom(__DIR__ . '/Views/templates', 'tpl');
2222
/* Publish master templates */
2323
$this->publishes([
24-
__DIR__ . '/Config/quickadmin.php' => config_path('quickadmin.php'),
25-
__DIR__ . '/Views/admin' => base_path('resources/views/admin'),
26-
__DIR__ . '/Views/auth' => base_path('resources/views/auth'),
27-
__DIR__ . '/Public/quickadmin' => base_path('public/quickadmin'),
28-
__DIR__ . '/Controllers/publish/UsersController' => app_path('Http/Controllers/UsersController.php'),
29-
__DIR__ . '/Controllers/publish/Controller' => app_path('Http/Controllers/Controller.php'),
30-
__DIR__ . '/Controllers/publish/FileUploadTrait' => app_path('Http/Controllers/Traits/FileUploadTrait.php'),
31-
__DIR__ . '/Models/publish/Role' => app_path('Role.php'),
24+
__DIR__ . '/Config/quickadmin.php' => config_path('quickadmin.php'),
25+
__DIR__ . '/Views/admin' => base_path('resources/views/admin'),
26+
__DIR__ . '/Views/auth' => base_path('resources/views/auth'),
27+
__DIR__ . '/Views/emails' => base_path('resources/views/emails'),
28+
__DIR__ . '/Public/quickadmin' => base_path('public/quickadmin'),
29+
__DIR__ . '/Controllers/publish/UsersController' => app_path('Http/Controllers/UsersController.php'),
30+
__DIR__ . '/Controllers/publish/Controller' => app_path('Http/Controllers/Controller.php'),
31+
__DIR__ . '/Controllers/publish/PasswordController' => app_path('Http/Controllers/Auth/PasswordController.php'),
32+
__DIR__ . '/Controllers/publish/FileUploadTrait' => app_path('Http/Controllers/Traits/FileUploadTrait.php'),
33+
__DIR__ . '/Models/publish/Role' => app_path('Role.php'),
3234
], 'quickadmin');
3335

3436
// Register commands

src/Views/admin/users/create.blade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242
</div>
4343

4444
<div class="form-group">
45-
{!! Form::label('role', 'Role', ['class'=>'col-md-2 control-label']) !!}
45+
{!! Form::label('role_id', 'Role', ['class'=>'col-md-2 control-label']) !!}
4646
<div class="col-sm-10">
47-
{!! Form::select('role', $roles, old('role'), ['class'=>'form-control']) !!}
47+
{!! Form::select('role_id', $roles, old('role_id'), ['class'=>'form-control']) !!}
4848
</div>
4949
</div>
5050

src/Views/admin/users/edit.blade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242
</div>
4343

4444
<div class="form-group">
45-
{!! Form::label('role', 'Role', ['class'=>'col-md-2 control-label']) !!}
45+
{!! Form::label('role_id', 'Role', ['class'=>'col-md-2 control-label']) !!}
4646
<div class="col-sm-10">
47-
{!! Form::select('role', $roles, old('role', $user->role), ['class'=>'form-control']) !!}
47+
{!! Form::select('role_id', $roles, old('role_id', $user->role), ['class'=>'form-control']) !!}
4848
</div>
4949
</div>
5050

src/Views/auth/password.blade.php

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
@include('admin.partials.header')
2+
<div style="margin-top: 10%;"></div>
3+
<div class="container-fluid">
4+
<div class="row">
5+
<div class="col-md-8 col-md-offset-2">
6+
<div class="panel panel-default">
7+
<div class="panel-heading">Reset password</div>
8+
<div class="panel-body">
9+
@if (count($errors) > 0)
10+
<div class="alert alert-danger">
11+
<strong>Whoops!</strong> there are some problems with input!
12+
<br><br>
13+
<ul>
14+
@foreach ($errors->all() as $error)
15+
<li>{{ $error }}</li>
16+
@endforeach
17+
</ul>
18+
</div>
19+
@endif
20+
21+
<form class="form-horizontal"
22+
role="form"
23+
method="POST"
24+
action="{{ url('password/email') }}">
25+
<input type="hidden"
26+
name="_token"
27+
value="{{ csrf_token() }}">
28+
29+
<div class="form-group">
30+
<label class="col-md-4 control-label">Email</label>
31+
32+
<div class="col-md-6">
33+
<input type="email"
34+
class="form-control"
35+
name="email"
36+
value="{{ old('email') }}">
37+
</div>
38+
</div>
39+
40+
<div class="form-group">
41+
<div class="col-md-6 col-md-offset-4">
42+
<button type="submit"
43+
class="btn btn-primary"
44+
style="margin-right: 15px;">
45+
Send Password Reset Link
46+
</button>
47+
</div>
48+
</div>
49+
</form>
50+
</div>
51+
</div>
52+
</div>
53+
</div>
54+
</div>
55+
@include('admin.partials.footer')

src/Views/auth/reset.blade.php

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
@include('admin.partials.header')
2+
<div style="margin-top: 10%;"></div>
3+
<div class="container-fluid">
4+
<div class="row">
5+
<div class="col-md-8 col-md-offset-2">
6+
<div class="panel panel-default">
7+
<div class="panel-heading">Login</div>
8+
<div class="panel-body">
9+
@if (count($errors) > 0)
10+
<div class="alert alert-danger">
11+
<strong>Whoops!</strong> there are some problems with input!
12+
<br><br>
13+
<ul>
14+
@foreach ($errors->all() as $error)
15+
<li>{{ $error }}</li>
16+
@endforeach
17+
</ul>
18+
</div>
19+
@endif
20+
21+
<form class="form-horizontal"
22+
role="form"
23+
method="POST"
24+
action="{{ url('password/reset') }}">
25+
<input type="hidden"
26+
name="_token"
27+
value="{{ csrf_token() }}">
28+
<input type="hidden" name="token" value="{{ $token }}">
29+
30+
<div class="form-group">
31+
<label class="col-md-4 control-label">Email</label>
32+
33+
<div class="col-md-6">
34+
<input type="email"
35+
class="form-control"
36+
name="email"
37+
value="{{ old('email') }}">
38+
</div>
39+
</div>
40+
41+
<div class="form-group">
42+
<label class="col-md-4 control-label">Password</label>
43+
44+
<div class="col-md-6">
45+
<input type="password"
46+
class="form-control"
47+
name="password">
48+
</div>
49+
</div>
50+
51+
<div class="form-group">
52+
<label class="col-md-4 control-label">Confirm Password</label>
53+
54+
<div class="col-md-6">
55+
<input type="password"
56+
class="form-control"
57+
name="password_confirmation">
58+
</div>
59+
</div>
60+
61+
<div class="form-group">
62+
<div class="col-md-6 col-md-offset-4">
63+
<button type="submit"
64+
class="btn btn-primary"
65+
style="margin-right: 15px;">
66+
Reset password
67+
</button>
68+
</div>
69+
</div>
70+
</form>
71+
</div>
72+
</div>
73+
</div>
74+
</div>
75+
</div>
76+
@include('admin.partials.footer')
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Click here to reset your password: {{ url('password/reset/'.$token) }}

0 commit comments

Comments
 (0)