diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 17cd3c3cd..6d1714eb5 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -7,6 +7,7 @@ use App\Jobs\SendAccountChangedEmail; use App\Models\Invitation; use App\Models\User; use Illuminate\Http\Request; +use Jrean\UserVerification\Facades\UserVerification; use Spatie\Permission\Models\Role; class UserController extends BasePageController @@ -238,4 +239,35 @@ class UserController extends BasePageController return redirect($request->server('HTTP_REFERER')); } + + /** + * @param Request $request + * @return \Illuminate\Http\RedirectResponse + * @throws \Jrean\UserVerification\Exceptions\ModelNotCompliantException + */ + public function resendVerification(Request $request) + { + if ($request->has('id')) { + $user = User::find($request->input('id')); + UserVerification::generate($user); + + UserVerification::send($user, 'User email verification required'); + + return redirect()->back()->with('success', 'Email verification for '.$user->username.' sent'); + } else { + return redirect()->back()->with('error', 'User is invalid'); + } + } + + public function verify(Request $request) + { + if ($request->has('id')) { + $user = User::find($request->input('id')); + User::query()->where('id', $request->input('id'))->update(['verified' => 1, 'email_verified_at' => now()]); + + return redirect()->back()->with('success', 'Email verification for '.$user->username.' sent'); + } else { + return redirect()->back()->with('error', 'User is invalid'); + } + } } diff --git a/resources/views/themes/admin/baseadminpage.tpl b/resources/views/themes/admin/baseadminpage.tpl index d0906877d..f61006f45 100644 --- a/resources/views/themes/admin/baseadminpage.tpl +++ b/resources/views/themes/admin/baseadminpage.tpl @@ -46,6 +46,7 @@
+ {$notification} {$content}
diff --git a/resources/views/themes/admin/notification.tpl b/resources/views/themes/admin/notification.tpl new file mode 100644 index 000000000..7e51d2f97 --- /dev/null +++ b/resources/views/themes/admin/notification.tpl @@ -0,0 +1,41 @@ + +{if Session::has('success')} +
+ + {Session::get('success')} +
+{/if} +{if Session::has('error')} +
+ + {Session::get('error')} +
+{/if} +{if Session::has('info')} +
+ + {Session::get('info')} +
+{/if} +{if Session::has('warning')} +
+ + {Session::get('warning')} +
+{/if} +{if Session::has('danger')} +
+ + {Session::get('danger')} +
+{/if} diff --git a/resources/views/themes/admin/user-list.tpl b/resources/views/themes/admin/user-list.tpl index 3aa2cb3e1..213845300 100644 --- a/resources/views/themes/admin/user-list.tpl +++ b/resources/views/themes/admin/user-list.tpl @@ -73,6 +73,8 @@ class="fa fa-chevron-down"> + Verify User + Verification email Options @@ -97,6 +99,8 @@ {$user->rolename} {if !empty($user->rolechangedate)}{$user->rolechangedate}{/if} {if {$user->verified} == 1} Yes {else} No {/if} + id}")}}">Verify User + id}")}}">Resend verification email {if $user->roles_id !="2"}id}")}}"> delete{/if} diff --git a/routes/web.php b/routes/web.php index 038dcdfb1..a0f2cd822 100644 --- a/routes/web.php +++ b/routes/web.php @@ -259,6 +259,10 @@ Route::group(['middleware' => ['role:Admin'], 'prefix' => 'admin', 'namespace' = Route::post('user-edit', 'UserController@edit'); Route::get('user-delete', 'UserController@destroy'); Route::post('user-delete', 'UserController@destroy'); + Route::get('verify', 'UserController@verify'); + Route::post('verify', 'UserController@verify'); + Route::get('resendverification', 'UserController@resendVerification'); + Route::post('resendverification', 'UserController@resendVerification'); Route::get('site-edit', 'SiteController@edit'); Route::post('site-edit', 'SiteController@edit'); Route::get('site-stats', 'SiteController@stats');