From d015fa1dee78a3953566a50d3503bbe1a82762ae Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 19 Jan 2018 09:58:01 -0600 Subject: [PATCH 001/100] Fix for throwValidationException method This fixes and issue where throwValidationException method is not found. --- src/App/Http/Controllers/UsersManagementController.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/App/Http/Controllers/UsersManagementController.php b/src/App/Http/Controllers/UsersManagementController.php index 885cf9d..c8631f8 100644 --- a/src/App/Http/Controllers/UsersManagementController.php +++ b/src/App/Http/Controllers/UsersManagementController.php @@ -62,9 +62,8 @@ public function store(Request $request) ]); if ($validator->fails()) { - $this->throwValidationException( - $request, $validator - ); + $errors = $validator->errors(); + return view('laravelusers::usersmanagement.create-user', compact('errors')); } else { $user = new User; $user->name = $request->input('name'); @@ -128,9 +127,8 @@ public function update(Request $request, $id) ]); } if ($validator->fails()) { - $this->throwValidationException( - $request, $validator - ); + $errors = $validator->errors(); + return view('laravelusers::usersmanagement.edit-user', compact('errors', 'user')); } else { $user->name = $request->input('name'); if ($emailCheck) { From 328b9f72576e9a0ac62d305a623b6a05f0040fb7 Mon Sep 17 00:00:00 2001 From: Jeremy Kenedy Date: Fri, 19 Jan 2018 17:46:55 +0000 Subject: [PATCH 002/100] Apply fixes from StyleCI --- .../Controllers/UsersManagementController.php | 55 ++++----- src/LaravelUsersServiceProvider.php | 16 +-- src/resources/lang/en/forms.php | 108 +++++++++--------- src/resources/lang/en/modals.php | 5 +- src/routes/web.php | 16 ++- 5 files changed, 97 insertions(+), 103 deletions(-) diff --git a/src/App/Http/Controllers/UsersManagementController.php b/src/App/Http/Controllers/UsersManagementController.php index c8631f8..3c8b7c5 100644 --- a/src/App/Http/Controllers/UsersManagementController.php +++ b/src/App/Http/Controllers/UsersManagementController.php @@ -2,17 +2,14 @@ namespace jeremykenedy\laravelusers\App\Http\Controllers; -use Illuminate\Foundation\Auth\RegistersUsers; use App\Http\Controllers\Controller; -use Illuminate\Http\Request; -use App\Http\Requests; -use Validator; use App\User; use Auth; +use Illuminate\Http\Request; +use Validator; class UsersManagementController extends Controller { - /** * Create a new controller instance. * @@ -33,7 +30,6 @@ public function index() $users = User::all(); return View('laravelusers::usersmanagement.show-users', compact('users')); - } /** @@ -49,27 +45,29 @@ public function create() /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request + * @param \Illuminate\Http\Request $request + * * @return \Illuminate\Http\Response */ public function store(Request $request) { - $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', 'email' => 'required|email|max:255|unique:users', - 'password' => 'required|confirmed|min:6' + 'password' => 'required|confirmed|min:6', ]); if ($validator->fails()) { $errors = $validator->errors(); + return view('laravelusers::usersmanagement.create-user', compact('errors')); } else { - $user = new User; - $user->name = $request->input('name'); - $user->email = $request->input('email'); - $user->password = bcrypt($request->input('password')); + $user = new User(); + $user->name = $request->input('name'); + $user->email = $request->input('email'); + $user->password = bcrypt($request->input('password')); $user->save(); + return redirect('users')->with('success', 'Successfully created user!'); } } @@ -77,12 +75,12 @@ public function store(Request $request) /** * Display the specified resource. * - * @param int $id + * @param int $id + * * @return \Illuminate\Http\Response */ public function show($id) { - $user = User::find($id); return view('laravelusers::usersmanagement.show-user')->withUser($user); @@ -91,43 +89,46 @@ public function show($id) /** * Show the form for editing the specified resource. * - * @param int $id + * @param int $id + * * @return \Illuminate\Http\Response */ public function edit($id) { $user = User::findOrFail($id); + return view('laravelusers::usersmanagement.edit-user')->withUser($user); } /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id + * @param \Illuminate\Http\Request $request + * @param int $id + * * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { - $currentUser = Auth::user(); - $user = User::find($id); - $emailCheck = ($request->input('email') != '') && ($request->input('email') != $currentUser->email); + $user = User::find($id); + $emailCheck = ($request->input('email') != '') && ($request->input('email') != $currentUser->email); if ($emailCheck) { $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', 'email' => 'nullable|email|max:255|unique:users', - 'password' => 'present|confirmed|min:6' + 'password' => 'present|confirmed|min:6', ]); } else { $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', - 'password' => 'nullable|confirmed|min:6' + 'password' => 'nullable|confirmed|min:6', ]); } if ($validator->fails()) { $errors = $validator->errors(); + return view('laravelusers::usersmanagement.edit-user', compact('errors', 'user')); } else { $user->name = $request->input('name'); @@ -138,6 +139,7 @@ public function update(Request $request, $id) $user->password = bcrypt($request->input('password')); } $user->save(); + return back()->with('success', 'Successfully updated user'); } } @@ -145,20 +147,21 @@ public function update(Request $request, $id) /** * Remove the specified resource from storage. * - * @param int $id + * @param int $id + * * @return \Illuminate\Http\Response */ public function destroy($id) { - $currentUser = Auth::user(); $user = User::findOrFail($id); if ($currentUser != $user) { $user->delete(); + return redirect('users')->with('success', 'Successfully deleted the user!'); } - return back()->with('error', 'You cannot delete yourself!'); + return back()->with('error', 'You cannot delete yourself!'); } } diff --git a/src/LaravelUsersServiceProvider.php b/src/LaravelUsersServiceProvider.php index 3f65b8d..e120f31 100644 --- a/src/LaravelUsersServiceProvider.php +++ b/src/LaravelUsersServiceProvider.php @@ -13,19 +13,17 @@ class LaravelUsersServiceProvider extends ServiceProvider */ public function boot() { - $this->loadRoutesFrom(__DIR__.'/routes/web.php'); $this->loadViewsFrom(__DIR__.'/resources/views/', 'laravelusers'); - $this->loadTranslationsFrom(__DIR__.'/resources/lang/en/', 'laravelusers'); + $this->loadTranslationsFrom(__DIR__.'/resources/lang/en/', 'laravelusers'); - $this->publishes([ - __DIR__.'/resources/views/' => resource_path('views/vendor/laravelusers'), - ], 'laravelusers'); + $this->publishes([ + __DIR__.'/resources/views/' => resource_path('views/vendor/laravelusers'), + ], 'laravelusers'); - $this->publishes([ + $this->publishes([ __DIR__.'/resources/lang/en/' => resource_path('lang/en'), - ], 'laravelusers'); - + ], 'laravelusers'); } /** @@ -38,6 +36,4 @@ public function register() include __DIR__.'/routes/web.php'; $this->app->make('jeremykenedy\laravelusers\App\Http\Controllers\UsersManagementController'); } - - } diff --git a/src/resources/lang/en/forms.php b/src/resources/lang/en/forms.php index 721c089..7377ee2 100644 --- a/src/resources/lang/en/forms.php +++ b/src/resources/lang/en/forms.php @@ -11,75 +11,75 @@ | */ - // CREATE NEW USER FORM - 'create_user_label_email' => 'User Email', - 'create_user_ph_email' => 'User Email', - 'create_user_icon_email' => 'fa-envelope', + // CREATE NEW USER FORM + 'create_user_label_email' => 'User Email', + 'create_user_ph_email' => 'User Email', + 'create_user_icon_email' => 'fa-envelope', - 'create_user_label_username' => 'Username', - 'create_user_ph_username' => 'Username', - 'create_user_icon_username' => 'fa-user', + 'create_user_label_username' => 'Username', + 'create_user_ph_username' => 'Username', + 'create_user_icon_username' => 'fa-user', - 'create_user_label_firstname' => 'First Name', - 'create_user_ph_firstname' => 'First Name', - 'create_user_icon_firstname' => 'fa-user', + 'create_user_label_firstname' => 'First Name', + 'create_user_ph_firstname' => 'First Name', + 'create_user_icon_firstname' => 'fa-user', - 'create_user_label_lastname' => 'Last Name', - 'create_user_ph_lastname' => 'Last Name', - 'create_user_icon_lastname' => 'fa-user', + 'create_user_label_lastname' => 'Last Name', + 'create_user_ph_lastname' => 'Last Name', + 'create_user_icon_lastname' => 'fa-user', - 'create_user_label_password' => 'Password', - 'create_user_ph_password' => 'Password', - 'create_user_icon_password' => 'fa-lock', + 'create_user_label_password' => 'Password', + 'create_user_ph_password' => 'Password', + 'create_user_icon_password' => 'fa-lock', - 'create_user_label_pw_confirmation' => 'Confirm Password', - 'create_user_ph_pw_confirmation' => 'Confirm Password', - 'create_user_icon_pw_confirmation' => 'fa-lock', + 'create_user_label_pw_confirmation' => 'Confirm Password', + 'create_user_ph_pw_confirmation' => 'Confirm Password', + 'create_user_icon_pw_confirmation' => 'fa-lock', - 'create_user_label_location' => 'User Location', - 'create_user_ph_location' => 'User Location', - 'create_user_icon_location' => 'fa-map-marker', + 'create_user_label_location' => 'User Location', + 'create_user_ph_location' => 'User Location', + 'create_user_icon_location' => 'fa-map-marker', - 'create_user_label_bio' => 'User Bio', - 'create_user_ph_bio' => 'User Bio', - 'create_user_icon_bio' => 'fa-pencil', + 'create_user_label_bio' => 'User Bio', + 'create_user_ph_bio' => 'User Bio', + 'create_user_icon_bio' => 'fa-pencil', - 'create_user_label_twitter_username'=> 'User Twitter Username', - 'create_user_ph_twitter_username' => 'User Twitter Username', - 'create_user_icon_twitter_username' => 'fa-twitter', + 'create_user_label_twitter_username'=> 'User Twitter Username', + 'create_user_ph_twitter_username' => 'User Twitter Username', + 'create_user_icon_twitter_username' => 'fa-twitter', - 'create_user_label_github_username' => 'User GitHub Username', - 'create_user_ph_github_username' => 'User GitHub Username', - 'create_user_icon_github_username' => 'fa-github', + 'create_user_label_github_username' => 'User GitHub Username', + 'create_user_ph_github_username' => 'User GitHub Username', + 'create_user_icon_github_username' => 'fa-github', - 'create_user_label_career_title' => 'User Occupation', - 'create_user_ph_career_title' => 'User Occupation', - 'create_user_icon_career_title' => 'fa-briefcase', + 'create_user_label_career_title' => 'User Occupation', + 'create_user_ph_career_title' => 'User Occupation', + 'create_user_icon_career_title' => 'fa-briefcase', - 'create_user_label_education' => 'User Education', - 'create_user_ph_education' => 'User Education', - 'create_user_icon_education' => 'fa-graduation-cap', + 'create_user_label_education' => 'User Education', + 'create_user_ph_education' => 'User Education', + 'create_user_icon_education' => 'fa-graduation-cap', - 'create_user_button_text' => 'Create New User', + 'create_user_button_text' => 'Create New User', - // EDIT USER AS ADMINISTRATOR FORM - 'edit-user-admin-title' => 'Edit User Information', + // EDIT USER AS ADMINISTRATOR FORM + 'edit-user-admin-title' => 'Edit User Information', - 'label-username' => 'Username', - 'ph-username' => 'Username', + 'label-username' => 'Username', + 'ph-username' => 'Username', - 'label-useremail' => 'User Email', - 'ph-useremail' => 'User Email', + 'label-useremail' => 'User Email', + 'ph-useremail' => 'User Email', - 'label-userrole_id' => 'User Access Level', - 'option-label' => 'Select a Level', - 'option-user' => 'User', - 'option-editor' => 'Editor', - 'option-admin' => 'Administrator', - 'submit-btn-text' => 'Edit the User!', + 'label-userrole_id' => 'User Access Level', + 'option-label' => 'Select a Level', + 'option-user' => 'User', + 'option-editor' => 'Editor', + 'option-admin' => 'Administrator', + 'submit-btn-text' => 'Edit the User!', - 'submit-btn-icon' => 'fa-save', - 'username-icon' => 'fa-user', - 'useremail-icon' => 'fa-envelope-o', + 'submit-btn-icon' => 'fa-save', + 'username-icon' => 'fa-user', + 'useremail-icon' => 'fa-envelope-o', -]; \ No newline at end of file +]; diff --git a/src/resources/lang/en/modals.php b/src/resources/lang/en/modals.php index 2250717..6e86bb1 100644 --- a/src/resources/lang/en/modals.php +++ b/src/resources/lang/en/modals.php @@ -11,7 +11,6 @@ | */ - // Default Save Modal; 'confirm_modal_title_text' => 'Confirm Save', 'confirm_modal_title_std_msg' => 'Please confirm your request.', @@ -24,6 +23,4 @@ 'edit_user__modal_text_confirm_title' => 'Confirm Save', 'edit_user__modal_text_confirm_message' => 'Please confirm your changes.', - - -]; \ No newline at end of file +]; diff --git a/src/routes/web.php b/src/routes/web.php index 2a8d59f..b98bf20 100644 --- a/src/routes/web.php +++ b/src/routes/web.php @@ -9,12 +9,10 @@ // APP Routes Below Route::group(['middleware' => 'web'], function () { - - Route::resource('users', 'jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController', [ - 'names' => [ - 'index' => 'users', - 'destroy' => 'user.destroy' - ] - ]); - -}); \ No newline at end of file + Route::resource('users', 'jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController', [ + 'names' => [ + 'index' => 'users', + 'destroy' => 'user.destroy', + ], + ]); +}); From 59dcc86f66b70445eba2946349389e83f53e77f3 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 19 Jan 2018 16:13:15 -0600 Subject: [PATCH 003/100] Update UsersManagementController.php Fix cases where updating the user name field ONLY causes a validation error to be thrown about the email address already being in use. Also fixes a case where updating user name or email field and leaving the password blank would also throw a validation error. --- src/App/Http/Controllers/UsersManagementController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/App/Http/Controllers/UsersManagementController.php b/src/App/Http/Controllers/UsersManagementController.php index 3c8b7c5..70e9548 100644 --- a/src/App/Http/Controllers/UsersManagementController.php +++ b/src/App/Http/Controllers/UsersManagementController.php @@ -117,8 +117,8 @@ public function update(Request $request, $id) if ($emailCheck) { $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', - 'email' => 'nullable|email|max:255|unique:users', - 'password' => 'present|confirmed|min:6', + 'email' => 'required|email|max:255|unique:users,email,'.$user->id, + 'password' => 'nullable|confirmed|min:6', ]); } else { $validator = Validator::make($request->all(), [ From cde412d4be27000b80795e7d02d0ce95967522c7 Mon Sep 17 00:00:00 2001 From: Jeremy Kenedy Date: Sat, 20 Jan 2018 14:16:12 -0800 Subject: [PATCH 004/100] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 918a47a..62552f0 100755 --- a/readme.md +++ b/readme.md @@ -2,7 +2,7 @@ [![Total Downloads](https://poser.pugx.org/jeremykenedy/laravel-users/d/total.svg)](https://packagist.org/packages/jeremykenedy/laravel-users) [![Latest Stable Version](https://poser.pugx.org/jeremykenedy/laravel-users/v/stable.svg)](https://packagist.org/packages/jeremykenedy/laravel-users) -[![License](https://poser.pugx.org/jeremykenedy/laravel-users/license.svg)](https://packagist.org/packages/jeremykenedy/laravel-users) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ## Introduction From cf5521ae0c8b27304da78b1c0dca27a360883cf3 Mon Sep 17 00:00:00 2001 From: Jeremy Kenedy Date: Tue, 23 Jan 2018 00:09:33 -0800 Subject: [PATCH 005/100] Update readme.md --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 62552f0..44b6a48 100755 --- a/readme.md +++ b/readme.md @@ -2,6 +2,7 @@ [![Total Downloads](https://poser.pugx.org/jeremykenedy/laravel-users/d/total.svg)](https://packagist.org/packages/jeremykenedy/laravel-users) [![Latest Stable Version](https://poser.pugx.org/jeremykenedy/laravel-users/v/stable.svg)](https://packagist.org/packages/jeremykenedy/laravel-users) +[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/jeremykenedy/laravel-users/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/jeremykenedy/laravel-users/?branch=master) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ## Introduction From 52d5a06fe43ddd1bff1f873dc9a2b8d84a8745cf Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 23 Jan 2018 09:40:19 -0600 Subject: [PATCH 006/100] Update UsersManagementController.php Update updated_at field in `users` table to reflect last change to user account. --- src/App/Http/Controllers/UsersManagementController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/App/Http/Controllers/UsersManagementController.php b/src/App/Http/Controllers/UsersManagementController.php index 70e9548..7f1720a 100644 --- a/src/App/Http/Controllers/UsersManagementController.php +++ b/src/App/Http/Controllers/UsersManagementController.php @@ -138,6 +138,7 @@ public function update(Request $request, $id) if ($request->input('password') != null) { $user->password = bcrypt($request->input('password')); } + $user->updated_at = \Carbon\Carbon::now(); $user->save(); return back()->with('success', 'Successfully updated user'); From f47c9d1038532adc24fe20b6aec1b80bdcd9986d Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 24 Jan 2018 12:57:52 -0600 Subject: [PATCH 007/100] Update modal-delete.blade.php Hide part of the delete button text for xs. --- src/resources/views/modals/modal-delete.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resources/views/modals/modal-delete.blade.php b/src/resources/views/modals/modal-delete.blade.php index 4938fc1..071e33c 100644 --- a/src/resources/views/modals/modal-delete.blade.php +++ b/src/resources/views/modals/modal-delete.blade.php @@ -10,8 +10,8 @@ - \ No newline at end of file + From 92866c55a219a7c1fe87603134474a66461e9df4 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 24 Jan 2018 13:00:46 -0600 Subject: [PATCH 008/100] Update edit-user.blade.php Hide some additional text on small devices. --- src/resources/views/usersmanagement/edit-user.blade.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/resources/views/usersmanagement/edit-user.blade.php b/src/resources/views/usersmanagement/edit-user.blade.php index 80733b2..82f7512 100644 --- a/src/resources/views/usersmanagement/edit-user.blade.php +++ b/src/resources/views/usersmanagement/edit-user.blade.php @@ -93,12 +93,12 @@
- {!! Form::button(' Save Changes', array('class' => 'btn btn-success btn-block margin-bottom-1 btn-save','type' => 'button', 'data-toggle' => 'modal', 'data-target' => '#confirmSave', 'data-title' => Lang::get('modals.edit_user__modal_text_confirm_title'), 'data-message' => Lang::get('modals.edit_user__modal_text_confirm_message'))) !!} + {!! Form::button(' Save ', array('class' => 'btn btn-success btn-block margin-bottom-1 btn-save','type' => 'button', 'data-toggle' => 'modal', 'data-target' => '#confirmSave', 'data-title' => Lang::get('modals.edit_user__modal_text_confirm_title'), 'data-message' => Lang::get('modals.edit_user__modal_text_confirm_message'))) !!}
@@ -138,4 +138,4 @@ }); -@endsection \ No newline at end of file +@endsection From 66a52eda5f9db4dc5cd438ea5ecfd4a75b635732 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 24 Jan 2018 14:33:44 -0600 Subject: [PATCH 009/100] Update show-user.blade.php Additional fix for mobile devices --- src/resources/views/usersmanagement/show-user.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resources/views/usersmanagement/show-user.blade.php b/src/resources/views/usersmanagement/show-user.blade.php index f8b054c..eee9082 100644 --- a/src/resources/views/usersmanagement/show-user.blade.php +++ b/src/resources/views/usersmanagement/show-user.blade.php @@ -47,7 +47,7 @@ - Back to Users + Users @@ -101,4 +101,4 @@ @include('laravelusers::scripts.delete-modal-script') -@endsection \ No newline at end of file +@endsection From 4cb11e882ba972138203afe8a870892b5b33a309 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 24 Jan 2018 14:34:44 -0600 Subject: [PATCH 010/100] Update edit-user.blade.php Further enhancement on mobile device readability --- src/resources/views/usersmanagement/edit-user.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resources/views/usersmanagement/edit-user.blade.php b/src/resources/views/usersmanagement/edit-user.blade.php index 82f7512..ab4b330 100644 --- a/src/resources/views/usersmanagement/edit-user.blade.php +++ b/src/resources/views/usersmanagement/edit-user.blade.php @@ -93,7 +93,7 @@ @@ -126,7 +126,7 @@ $('.pw-change-container').slideToggle(100); $(this).find('.fa').toggleClass('fa-times'); $(this).find('.fa').toggleClass('fa-lock'); - $(this).find('span').toggleText('', 'Cancel'); + $(this).find('toggle').toggleText('Change', 'Cancel'); }); $("input").keyup(function() { if(!$('input').val()){ From f30b560bd9ea110ae29e37a1fca73a14c7520fd8 Mon Sep 17 00:00:00 2001 From: jeremykenedy Date: Fri, 9 Feb 2018 00:36:46 -0800 Subject: [PATCH 011/100] adding in flexibility for next version --- .../Controllers/UsersManagementController.php | 88 +++++++----- src/LaravelUsersServiceProvider.php | 48 +++++-- src/config/laravelusers.php | 63 ++++++++ src/resources/lang/en/app.php | 19 +++ src/resources/lang/en/forms.php | 108 +++++++------- src/resources/lang/en/laravelusers.php | 39 +++++ src/resources/lang/en/modals.php | 6 + src/resources/views/layouts/app.blade.php | 68 +++------ .../views/modals/modal-delete.blade.php | 12 +- .../views/modals/modal-save.blade.php | 0 .../views/partials/form-status.blade.php | 0 src/resources/views/partials/styles.blade.php | 67 +++++++++ .../views/scripts/datatables.blade.php | 10 +- .../scripts/delete-modal-script.blade.php | 0 .../views/scripts/save-modal-script.blade.php | 0 .../views/scripts/tooltips.blade.php | 11 ++ .../usersmanagement/create-user.blade.php | 0 .../views/usersmanagement/edit-user.blade.php | 8 +- .../views/usersmanagement/show-user.blade.php | 4 +- .../usersmanagement/show-users.blade.php | 134 ++++++++++++------ src/routes/web.php | 16 ++- 21 files changed, 491 insertions(+), 210 deletions(-) mode change 100644 => 100755 src/App/Http/Controllers/UsersManagementController.php mode change 100644 => 100755 src/LaravelUsersServiceProvider.php create mode 100644 src/config/laravelusers.php create mode 100644 src/resources/lang/en/app.php mode change 100644 => 100755 src/resources/lang/en/forms.php create mode 100644 src/resources/lang/en/laravelusers.php mode change 100644 => 100755 src/resources/lang/en/modals.php mode change 100644 => 100755 src/resources/views/layouts/app.blade.php mode change 100644 => 100755 src/resources/views/modals/modal-delete.blade.php mode change 100644 => 100755 src/resources/views/modals/modal-save.blade.php mode change 100644 => 100755 src/resources/views/partials/form-status.blade.php create mode 100644 src/resources/views/partials/styles.blade.php mode change 100644 => 100755 src/resources/views/scripts/datatables.blade.php mode change 100644 => 100755 src/resources/views/scripts/delete-modal-script.blade.php mode change 100644 => 100755 src/resources/views/scripts/save-modal-script.blade.php create mode 100644 src/resources/views/scripts/tooltips.blade.php mode change 100644 => 100755 src/resources/views/usersmanagement/create-user.blade.php mode change 100644 => 100755 src/resources/views/usersmanagement/edit-user.blade.php mode change 100644 => 100755 src/resources/views/usersmanagement/show-user.blade.php mode change 100644 => 100755 src/resources/views/usersmanagement/show-users.blade.php mode change 100644 => 100755 src/routes/web.php diff --git a/src/App/Http/Controllers/UsersManagementController.php b/src/App/Http/Controllers/UsersManagementController.php old mode 100644 new mode 100755 index 7f1720a..5de374e --- a/src/App/Http/Controllers/UsersManagementController.php +++ b/src/App/Http/Controllers/UsersManagementController.php @@ -3,13 +3,18 @@ namespace jeremykenedy\laravelusers\App\Http\Controllers; use App\Http\Controllers\Controller; -use App\User; +use App\Http\Requests; use Auth; +use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Http\Request; use Validator; class UsersManagementController extends Controller { + private $_authEnabled; + private $_rolesEnabled; + private $_rolesMiddlware; + /** * Create a new controller instance. * @@ -17,7 +22,17 @@ class UsersManagementController extends Controller */ public function __construct() { - $this->middleware('auth'); + $this->_authEnabled = config('laravelusers.authEnabled'); + $this->_rolesEnabled = config('laravelusers.rolesEnabled'); + $this->_rolesMiddlware = config('laravelusers.rolesMiddlware'); + + if ($this->_authEnabled) { + $this->middleware('auth'); + } + + if ($this->_rolesEnabled) { + $this->middleware($this->_rolesMiddlware); + } } /** @@ -27,9 +42,20 @@ public function __construct() */ public function index() { - $users = User::all(); + $pagintaionEnabled = config('laravelusers.enablePagination'); + + if ($pagintaionEnabled) { + $users = config('laravelusers.defaultUserModel')::paginate(config('laravelusers.paginateListSize')); + } else { + $users = config('laravelusers.defaultUserModel')::all(); + } - return View('laravelusers::usersmanagement.show-users', compact('users')); + $data = [ + 'users' => $users, + 'pagintaionEnabled' => $pagintaionEnabled, + ]; + + return view('laravelusers::usersmanagement.show-users', $data); } /** @@ -45,27 +71,28 @@ public function create() /** * Store a newly created resource in storage. * - * @param \Illuminate\Http\Request $request + * @param \Illuminate\Http\Request $request * * @return \Illuminate\Http\Response */ public function store(Request $request) { + $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', 'email' => 'required|email|max:255|unique:users', - 'password' => 'required|confirmed|min:6', + 'password' => 'required|confirmed|min:6' ]); if ($validator->fails()) { - $errors = $validator->errors(); - - return view('laravelusers::usersmanagement.create-user', compact('errors')); + $this->throwValidationException( + $request, $validator + ); } else { - $user = new User(); - $user->name = $request->input('name'); - $user->email = $request->input('email'); - $user->password = bcrypt($request->input('password')); + $user = new config('laravelusers.defaultUserModel'); + $user->name = $request->input('name'); + $user->email = $request->input('email'); + $user->password = bcrypt($request->input('password')); $user->save(); return redirect('users')->with('success', 'Successfully created user!'); @@ -75,13 +102,13 @@ public function store(Request $request) /** * Display the specified resource. * - * @param int $id + * @param int $id * * @return \Illuminate\Http\Response */ public function show($id) { - $user = User::find($id); + $user = config('laravelusers.defaultUserModel')::find($id); return view('laravelusers::usersmanagement.show-user')->withUser($user); } @@ -89,13 +116,12 @@ public function show($id) /** * Show the form for editing the specified resource. * - * @param int $id - * + * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { - $user = User::findOrFail($id); + $user = config('laravelusers.defaultUserModel')::findOrFail($id); return view('laravelusers::usersmanagement.edit-user')->withUser($user); } @@ -103,33 +129,33 @@ public function edit($id) /** * Update the specified resource in storage. * - * @param \Illuminate\Http\Request $request - * @param int $id + * @param \Illuminate\Http\Request $request + * @param int $id * * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $currentUser = Auth::user(); - $user = User::find($id); - $emailCheck = ($request->input('email') != '') && ($request->input('email') != $currentUser->email); + $user = config('laravelusers.defaultUserModel')::find($id); + $emailCheck = ($request->input('email') != '') && ($request->input('email') != $currentUser->email); if ($emailCheck) { $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', - 'email' => 'required|email|max:255|unique:users,email,'.$user->id, - 'password' => 'nullable|confirmed|min:6', + 'email' => 'nullable|email|max:255|unique:users', + 'password' => 'present|confirmed|min:6' ]); } else { $validator = Validator::make($request->all(), [ 'name' => 'required|max:255', - 'password' => 'nullable|confirmed|min:6', + 'password' => 'nullable|confirmed|min:6' ]); } if ($validator->fails()) { - $errors = $validator->errors(); - - return view('laravelusers::usersmanagement.edit-user', compact('errors', 'user')); + $this->throwValidationException( + $request, $validator + ); } else { $user->name = $request->input('name'); if ($emailCheck) { @@ -138,7 +164,6 @@ public function update(Request $request, $id) if ($request->input('password') != null) { $user->password = bcrypt($request->input('password')); } - $user->updated_at = \Carbon\Carbon::now(); $user->save(); return back()->with('success', 'Successfully updated user'); @@ -148,18 +173,17 @@ public function update(Request $request, $id) /** * Remove the specified resource from storage. * - * @param int $id + * @param int $id * * @return \Illuminate\Http\Response */ public function destroy($id) { $currentUser = Auth::user(); - $user = User::findOrFail($id); + $user = config('laravelusers.defaultUserModel')::findOrFail($id); if ($currentUser != $user) { $user->delete(); - return redirect('users')->with('success', 'Successfully deleted the user!'); } diff --git a/src/LaravelUsersServiceProvider.php b/src/LaravelUsersServiceProvider.php old mode 100644 new mode 100755 index e120f31..e9cb5eb --- a/src/LaravelUsersServiceProvider.php +++ b/src/LaravelUsersServiceProvider.php @@ -6,6 +6,15 @@ class LaravelUsersServiceProvider extends ServiceProvider { + private $_packageTag = 'laravelusers'; + + /** + * Indicates if loading of the provider is deferred. + * + * @var bool + */ + protected $defer = false; + /** * Bootstrap the application services. * @@ -13,17 +22,7 @@ class LaravelUsersServiceProvider extends ServiceProvider */ public function boot() { - $this->loadRoutesFrom(__DIR__.'/routes/web.php'); - $this->loadViewsFrom(__DIR__.'/resources/views/', 'laravelusers'); - $this->loadTranslationsFrom(__DIR__.'/resources/lang/en/', 'laravelusers'); - - $this->publishes([ - __DIR__.'/resources/views/' => resource_path('views/vendor/laravelusers'), - ], 'laravelusers'); - - $this->publishes([ - __DIR__.'/resources/lang/en/' => resource_path('lang/en'), - ], 'laravelusers'); + $this->loadTranslationsFrom(__DIR__ . '/resources/lang/', $this->_packageTag); } /** @@ -33,7 +32,32 @@ public function boot() */ public function register() { - include __DIR__.'/routes/web.php'; + $this->loadRoutesFrom(__DIR__ . '/routes/web.php'); + $this->loadViewsFrom(__DIR__ . '/resources/views/', $this->_packageTag); + $this->mergeConfigFrom(__DIR__.'/config/' . $this->_packageTag . '.php', $this->_packageTag); + $this->publishFiles(); $this->app->make('jeremykenedy\laravelusers\App\Http\Controllers\UsersManagementController'); } + + /** + * Publish files for the package. + * + * @return void + */ + private function publishFiles() + { + $publishTag = $this->_packageTag; + + $this->publishes([ + __DIR__ . '/config/' . $this->_packageTag . '.php' => base_path('config/' . $this->_packageTag . '.php'), + ], $publishTag); + + $this->publishes([ + __DIR__ . '/resources/views' => resource_path('views/vendor/' . $this->_packageTag), + ], $publishTag); + + $this->publishes([ + __DIR__ . '/resources/lang' => resource_path('lang/vendor/' . $this->_packageTag), + ], $publishTag); + } } diff --git a/src/config/laravelusers.php b/src/config/laravelusers.php new file mode 100644 index 0000000..eb261a8 --- /dev/null +++ b/src/config/laravelusers.php @@ -0,0 +1,63 @@ + 'laravelusers::layouts.app', // 'layouts.app' + + // Enable `auth` middleware + 'authEnabled' => true, + + // Enable Optional Roles Middleware + 'rolesEnabled' => true, + + // Optional Roles Middleware + 'rolesMiddlware' => 'role:admin', + + // Enable Soft Deletes + 'softDeletedEnabled' => false, + + // Laravel Default User Model + 'defaultUserModel' => 'App\User', + + // Users List Pagination + 'enablePagination' => true, + 'paginateListSize' => 25, + + // Users List JS DataTables - not recommended use with pagination + 'enabledDatatablesJs' => false, + 'datatablesJsStartCount' => 25, + 'datatablesCssCDN' => 'https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css', + 'datatablesJsCDN' => 'https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js', + 'datatablesJsPresetCDN' => 'https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js', + + // Bootstrap Tooltips + 'tooltipsEnabled' => true, + + // Icons + 'fontAwesomeEnabled' => true, + 'fontAwesomeCdn' => 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css', + + // Extended blade options for packages app.blade.php + 'enableBootstrapCssCdn' => true, + 'bootstrapCssCdn' => 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css', + + 'enableAppCss' => true, + 'appCssPublicFile' => 'css/app.css', + + 'enableBootstrapJsCdn' => true, + 'bootstrapJsCdn' => 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js', + + 'enableAppJs' => false, + 'appJsPublicFile' => 'js/app.js', + + 'enablejQueryCdn' => true, + 'jQueryCdn' => 'http://code.jquery.com/jquery-3.3.1.min.js', + +]; diff --git a/src/resources/lang/en/app.php b/src/resources/lang/en/app.php new file mode 100644 index 0000000..fe4e3c9 --- /dev/null +++ b/src/resources/lang/en/app.php @@ -0,0 +1,19 @@ + [ + 'toggle-nav-alt' => 'Toggle Navigation', + 'login' => 'Login', + 'register' => 'Register', + 'users' => 'Users', + 'logout' => 'Logout', + ], + +]; diff --git a/src/resources/lang/en/forms.php b/src/resources/lang/en/forms.php old mode 100644 new mode 100755 index 7377ee2..721c089 --- a/src/resources/lang/en/forms.php +++ b/src/resources/lang/en/forms.php @@ -11,75 +11,75 @@ | */ - // CREATE NEW USER FORM - 'create_user_label_email' => 'User Email', - 'create_user_ph_email' => 'User Email', - 'create_user_icon_email' => 'fa-envelope', + // CREATE NEW USER FORM + 'create_user_label_email' => 'User Email', + 'create_user_ph_email' => 'User Email', + 'create_user_icon_email' => 'fa-envelope', - 'create_user_label_username' => 'Username', - 'create_user_ph_username' => 'Username', - 'create_user_icon_username' => 'fa-user', + 'create_user_label_username' => 'Username', + 'create_user_ph_username' => 'Username', + 'create_user_icon_username' => 'fa-user', - 'create_user_label_firstname' => 'First Name', - 'create_user_ph_firstname' => 'First Name', - 'create_user_icon_firstname' => 'fa-user', + 'create_user_label_firstname' => 'First Name', + 'create_user_ph_firstname' => 'First Name', + 'create_user_icon_firstname' => 'fa-user', - 'create_user_label_lastname' => 'Last Name', - 'create_user_ph_lastname' => 'Last Name', - 'create_user_icon_lastname' => 'fa-user', + 'create_user_label_lastname' => 'Last Name', + 'create_user_ph_lastname' => 'Last Name', + 'create_user_icon_lastname' => 'fa-user', - 'create_user_label_password' => 'Password', - 'create_user_ph_password' => 'Password', - 'create_user_icon_password' => 'fa-lock', + 'create_user_label_password' => 'Password', + 'create_user_ph_password' => 'Password', + 'create_user_icon_password' => 'fa-lock', - 'create_user_label_pw_confirmation' => 'Confirm Password', - 'create_user_ph_pw_confirmation' => 'Confirm Password', - 'create_user_icon_pw_confirmation' => 'fa-lock', + 'create_user_label_pw_confirmation' => 'Confirm Password', + 'create_user_ph_pw_confirmation' => 'Confirm Password', + 'create_user_icon_pw_confirmation' => 'fa-lock', - 'create_user_label_location' => 'User Location', - 'create_user_ph_location' => 'User Location', - 'create_user_icon_location' => 'fa-map-marker', + 'create_user_label_location' => 'User Location', + 'create_user_ph_location' => 'User Location', + 'create_user_icon_location' => 'fa-map-marker', - 'create_user_label_bio' => 'User Bio', - 'create_user_ph_bio' => 'User Bio', - 'create_user_icon_bio' => 'fa-pencil', + 'create_user_label_bio' => 'User Bio', + 'create_user_ph_bio' => 'User Bio', + 'create_user_icon_bio' => 'fa-pencil', - 'create_user_label_twitter_username'=> 'User Twitter Username', - 'create_user_ph_twitter_username' => 'User Twitter Username', - 'create_user_icon_twitter_username' => 'fa-twitter', + 'create_user_label_twitter_username'=> 'User Twitter Username', + 'create_user_ph_twitter_username' => 'User Twitter Username', + 'create_user_icon_twitter_username' => 'fa-twitter', - 'create_user_label_github_username' => 'User GitHub Username', - 'create_user_ph_github_username' => 'User GitHub Username', - 'create_user_icon_github_username' => 'fa-github', + 'create_user_label_github_username' => 'User GitHub Username', + 'create_user_ph_github_username' => 'User GitHub Username', + 'create_user_icon_github_username' => 'fa-github', - 'create_user_label_career_title' => 'User Occupation', - 'create_user_ph_career_title' => 'User Occupation', - 'create_user_icon_career_title' => 'fa-briefcase', + 'create_user_label_career_title' => 'User Occupation', + 'create_user_ph_career_title' => 'User Occupation', + 'create_user_icon_career_title' => 'fa-briefcase', - 'create_user_label_education' => 'User Education', - 'create_user_ph_education' => 'User Education', - 'create_user_icon_education' => 'fa-graduation-cap', + 'create_user_label_education' => 'User Education', + 'create_user_ph_education' => 'User Education', + 'create_user_icon_education' => 'fa-graduation-cap', - 'create_user_button_text' => 'Create New User', + 'create_user_button_text' => 'Create New User', - // EDIT USER AS ADMINISTRATOR FORM - 'edit-user-admin-title' => 'Edit User Information', + // EDIT USER AS ADMINISTRATOR FORM + 'edit-user-admin-title' => 'Edit User Information', - 'label-username' => 'Username', - 'ph-username' => 'Username', + 'label-username' => 'Username', + 'ph-username' => 'Username', - 'label-useremail' => 'User Email', - 'ph-useremail' => 'User Email', + 'label-useremail' => 'User Email', + 'ph-useremail' => 'User Email', - 'label-userrole_id' => 'User Access Level', - 'option-label' => 'Select a Level', - 'option-user' => 'User', - 'option-editor' => 'Editor', - 'option-admin' => 'Administrator', - 'submit-btn-text' => 'Edit the User!', + 'label-userrole_id' => 'User Access Level', + 'option-label' => 'Select a Level', + 'option-user' => 'User', + 'option-editor' => 'Editor', + 'option-admin' => 'Administrator', + 'submit-btn-text' => 'Edit the User!', - 'submit-btn-icon' => 'fa-save', - 'username-icon' => 'fa-user', - 'useremail-icon' => 'fa-envelope-o', + 'submit-btn-icon' => 'fa-save', + 'username-icon' => 'fa-user', + 'useremail-icon' => 'fa-envelope-o', -]; +]; \ No newline at end of file diff --git a/src/resources/lang/en/laravelusers.php b/src/resources/lang/en/laravelusers.php new file mode 100644 index 0000000..23cc717 --- /dev/null +++ b/src/resources/lang/en/laravelusers.php @@ -0,0 +1,39 @@ + 'Showing All Users', + 'users-menu-alt' => 'Show Users Management Menu', + 'create-new-user' => 'Create New User', + 'show-deleted-users' => 'Show Deleted User', + + 'users-table' => [ + 'id' => 'ID', + 'name' => 'Name', + 'email' => 'Email', + 'role' => 'Role', + 'created' => 'Created', + 'updated' => 'Updated', + 'actions' => 'Actions', + 'updated' => 'Updated', + ], + + 'buttons' => [ + 'delete' => ' ', + 'show' => ' ', + 'edit' => ' ', + ], + + 'tooltips' => [ + 'delete' => 'Delete', + 'show' => 'Show', + 'edit' => 'Edit', + ], + +]; diff --git a/src/resources/lang/en/modals.php b/src/resources/lang/en/modals.php old mode 100644 new mode 100755 index 6e86bb1..721559e --- a/src/resources/lang/en/modals.php +++ b/src/resources/lang/en/modals.php @@ -11,6 +11,7 @@ | */ + // Default Save Modal; 'confirm_modal_title_text' => 'Confirm Save', 'confirm_modal_title_std_msg' => 'Please confirm your request.', @@ -23,4 +24,9 @@ 'edit_user__modal_text_confirm_title' => 'Confirm Save', 'edit_user__modal_text_confirm_message' => 'Please confirm your changes.', + // Delete Modal + 'delete_user_title' => 'Delete User', + 'delete_user_message' => 'Are you sure you want to delete this user?', + 'delete_user_btn_cancel' => ' Cancel', + 'delete_user_btn_confirm' => ' Delete this User', ]; diff --git a/src/resources/views/layouts/app.blade.php b/src/resources/views/layouts/app.blade.php old mode 100644 new mode 100755 index 2a02809..d465a97 --- a/src/resources/views/layouts/app.blade.php +++ b/src/resources/views/layouts/app.blade.php @@ -10,45 +10,13 @@ @if (trim($__env->yieldContent('template_title')))@yield('template_title') | @endif {{ config('app.name', 'Laravel') }} - - - - - - - + {{-- Styles --}} + @if(config('laravelusers.enableBootstrapCssCdn')) + + @endif + @if(config('laravelusers.enableAppCss')) + + @endif @yield('template_linked_css') @@ -67,7 +35,7 @@ {{-- Collapsed Hamburger --}} - + diff --git a/src/resources/views/modals/modal-save.blade.php b/src/resources/views/modals/modal-save.blade.php old mode 100644 new mode 100755 diff --git a/src/resources/views/partials/form-status.blade.php b/src/resources/views/partials/form-status.blade.php old mode 100644 new mode 100755 diff --git a/src/resources/views/partials/styles.blade.php b/src/resources/views/partials/styles.blade.php new file mode 100644 index 0000000..d019fde --- /dev/null +++ b/src/resources/views/partials/styles.blade.php @@ -0,0 +1,67 @@ + diff --git a/src/resources/views/scripts/datatables.blade.php b/src/resources/views/scripts/datatables.blade.php old mode 100644 new mode 100755 index e627e2d..8d6c684 --- a/src/resources/views/scripts/datatables.blade.php +++ b/src/resources/views/scripts/datatables.blade.php @@ -1,8 +1,6 @@ -{{-- FYI: Datatables do not support colspan or rowpan --}} - - - - +{{-- FYI: Datatables do not support colspan or rowspan --}} + + \ No newline at end of file + diff --git a/src/resources/views/scripts/delete-modal-script.blade.php b/src/resources/views/scripts/delete-modal-script.blade.php old mode 100644 new mode 100755 diff --git a/src/resources/views/scripts/save-modal-script.blade.php b/src/resources/views/scripts/save-modal-script.blade.php old mode 100644 new mode 100755 diff --git a/src/resources/views/scripts/tooltips.blade.php b/src/resources/views/scripts/tooltips.blade.php new file mode 100644 index 0000000..dae391d --- /dev/null +++ b/src/resources/views/scripts/tooltips.blade.php @@ -0,0 +1,11 @@ + diff --git a/src/resources/views/usersmanagement/create-user.blade.php b/src/resources/views/usersmanagement/create-user.blade.php old mode 100644 new mode 100755 diff --git a/src/resources/views/usersmanagement/edit-user.blade.php b/src/resources/views/usersmanagement/edit-user.blade.php old mode 100644 new mode 100755 index ab4b330..80733b2 --- a/src/resources/views/usersmanagement/edit-user.blade.php +++ b/src/resources/views/usersmanagement/edit-user.blade.php @@ -93,12 +93,12 @@
- {!! Form::button(' Save ', array('class' => 'btn btn-success btn-block margin-bottom-1 btn-save','type' => 'button', 'data-toggle' => 'modal', 'data-target' => '#confirmSave', 'data-title' => Lang::get('modals.edit_user__modal_text_confirm_title'), 'data-message' => Lang::get('modals.edit_user__modal_text_confirm_message'))) !!} + {!! Form::button(' Save Changes', array('class' => 'btn btn-success btn-block margin-bottom-1 btn-save','type' => 'button', 'data-toggle' => 'modal', 'data-target' => '#confirmSave', 'data-title' => Lang::get('modals.edit_user__modal_text_confirm_title'), 'data-message' => Lang::get('modals.edit_user__modal_text_confirm_message'))) !!}
@@ -126,7 +126,7 @@ $('.pw-change-container').slideToggle(100); $(this).find('.fa').toggleClass('fa-times'); $(this).find('.fa').toggleClass('fa-lock'); - $(this).find('toggle').toggleText('Change', 'Cancel'); + $(this).find('span').toggleText('', 'Cancel'); }); $("input").keyup(function() { if(!$('input').val()){ @@ -138,4 +138,4 @@ }); -@endsection +@endsection \ No newline at end of file diff --git a/src/resources/views/usersmanagement/show-user.blade.php b/src/resources/views/usersmanagement/show-user.blade.php old mode 100644 new mode 100755 index eee9082..f8b054c --- a/src/resources/views/usersmanagement/show-user.blade.php +++ b/src/resources/views/usersmanagement/show-user.blade.php @@ -47,7 +47,7 @@ - Users + Back to Users @@ -101,4 +101,4 @@ @include('laravelusers::scripts.delete-modal-script') -@endsection +@endsection \ No newline at end of file diff --git a/src/resources/views/usersmanagement/show-users.blade.php b/src/resources/views/usersmanagement/show-users.blade.php old mode 100644 new mode 100755 index a058cd6..3f4bea2 --- a/src/resources/views/usersmanagement/show-users.blade.php +++ b/src/resources/views/usersmanagement/show-users.blade.php @@ -1,27 +1,17 @@ -@extends('laravelusers::layouts.app') +@extends(config('laravelusers.laravelUsersBladeExtended')) @section('template_title') - Showing Users + @lang('laravelusers::laravelusers.showing-all-users') @endsection @section('template_linked_css') - - + @if(config('laravelusers.enabledDatatablesJs')) + + @endif + @if(config('laravelusers.fontAwesomeEnabled')) + + @endif + @include('laravelusers::partials.styles') @endsection @section('content') @@ -31,11 +21,44 @@
@@ -47,14 +70,17 @@ - - - - - - - - + + + + @if(config('laravelusers.rolesEnabled')) + + @endif + + + + + @@ -63,28 +89,49 @@ - - + @if(config('laravelusers.rolesEnabled')) + + @endif + + @endforeach
IDNameActions@lang('laravelusers::laravelusers.users-table.id')@lang('laravelusers::laravelusers.users-table.name')@lang('laravelusers::laravelusers.users-table.actions')
{{$user->id}} {{$user->name}} - {!! Form::open(array('url' => 'users/' . $user->id, 'class' => '')) !!} + {!! Form::open(array('url' => 'users/' . $user->id, 'class' => '', 'data-toggle' => 'tooltip', 'title' => trans('laravelusers::laravelusers.tooltips.delete'))) !!} {!! Form::hidden('_method', 'DELETE') !!} - {!! Form::button(' Delete', array('class' => 'btn btn-danger btn-sm','type' => 'button', 'style' =>'width: 100%;' ,'data-toggle' => 'modal', 'data-target' => '#confirmDelete', 'data-title' => 'Delete User', 'data-message' => 'Are you sure you want to delete this user ?')) !!} + {!! Form::button(trans('laravelusers::laravelusers.buttons.delete'), array('class' => 'btn btn-danger btn-sm','type' => 'button', 'style' =>'width: 100%;' ,'data-toggle' => 'modal', 'data-target' => '#confirmDelete', 'data-title' => trans('laravelusers::modals.delete_user_title'), 'data-message' => trans('laravelusers::modals.delete_user_message'))) !!} {!! Form::close() !!} - - Show + + @lang('laravelusers::laravelusers.buttons.show') - - Edit + + @lang('laravelusers::laravelusers.buttons.edit')
+ + @if($pagintaionEnabled) + {{ $users->links() }} + @endif +
@@ -97,9 +144,12 @@ @endsection @section('template_scripts') - @if (count($users) > 10) + @if ((count($users) > config('laravelusers.datatablesJsStartCount')) && config('laravelusers.enabledDatatablesJs')) @include('laravelusers::scripts.datatables') @endif @include('laravelusers::scripts.delete-modal-script') @include('laravelusers::scripts.save-modal-script') -@endsection \ No newline at end of file + @if(config('laravelusers.tooltipsEnabled')) + @include('laravelusers::scripts.tooltips') + @endif +@endsection diff --git a/src/routes/web.php b/src/routes/web.php old mode 100644 new mode 100755 index b98bf20..1547b45 --- a/src/routes/web.php +++ b/src/routes/web.php @@ -8,11 +8,13 @@ */ // APP Routes Below -Route::group(['middleware' => 'web'], function () { - Route::resource('users', 'jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController', [ - 'names' => [ - 'index' => 'users', - 'destroy' => 'user.destroy', - ], - ]); +Route::group(['middleware' => 'web', 'namespace' => 'jeremykenedy\laravelusers\app\Http\Controllers'], function () { + + Route::resource('users', 'UsersManagementController', [ + 'names' => [ + 'index' => 'users', + 'destroy' => 'user.destroy' + ] + ]); + }); From 18ec767e3918c6f0f9eca9a1883471e3c5695212 Mon Sep 17 00:00:00 2001 From: jeremykenedy Date: Sat, 10 Feb 2018 00:30:28 -0800 Subject: [PATCH 012/100] more refactoring, cleanup, and options --- LICENSE | 0 composer.json | 0 readme.md | 175 ++++++++++--- .../Controllers/UsersManagementController.php | 153 ++++++++---- src/config/laravelusers.php | 3 + src/resources/lang/en/forms.php | 28 ++- src/resources/lang/en/laravelusers.php | 42 +++- src/resources/views/layouts/app.blade.php | 11 +- src/resources/views/partials/styles.blade.php | 35 ++- .../views/scripts/check-changed.blade.php | 23 ++ .../views/scripts/toggleText.blade.php | 7 + .../usersmanagement/create-user.blade.php | 145 +++++++++-- .../views/usersmanagement/edit-user.blade.php | 141 ++++++----- .../views/usersmanagement/show-user.blade.php | 230 ++++++++++++------ .../usersmanagement/show-users.blade.php | 4 +- 15 files changed, 737 insertions(+), 260 deletions(-) mode change 100644 => 100755 LICENSE mode change 100644 => 100755 composer.json create mode 100644 src/resources/views/scripts/check-changed.blade.php create mode 100644 src/resources/views/scripts/toggleText.blade.php diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/composer.json b/composer.json old mode 100644 new mode 100755 diff --git a/readme.md b/readme.md index 44b6a48..164004d 100755 --- a/readme.md +++ b/readme.md @@ -1,43 +1,53 @@ -# Laravel-Users | A Laravel Users Management [Package](https://packagist.org/packages/jeremykenedy/laravel-users) +# Laravel-Users | A Laravel Users CRUD Management [Package](https://packagist.org/packages/jeremykenedy/laravel-users) -[![Total Downloads](https://poser.pugx.org/jeremykenedy/laravel-users/d/total.svg)](https://packagist.org/packages/jeremykenedy/laravel-users) [![Latest Stable Version](https://poser.pugx.org/jeremykenedy/laravel-users/v/stable.svg)](https://packagist.org/packages/jeremykenedy/laravel-users) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/jeremykenedy/laravel-users/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/jeremykenedy/laravel-users/?branch=master) +[![Total Downloads](https://poser.pugx.org/jeremykenedy/laravel-users/d/total.svg)](https://packagist.org/packages/jeremykenedy/laravel-users) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -## Introduction - -A Users Management [Package](https://packagist.org/packages/jeremykenedy/laravel-users) that includes all necessary routes, views, models, and controllers for a user management dashboard and associated pages for managing Laravels built in user scaffolding. -Built for Laravel 5.2, 5.3, 5.4, and 5.5+. - -## Requirements - +- [About](#about) +- [Features](#features) +- [Requirements](#requirements) +- [Installation Instructions](#installation-instructions) +- [Configuration](#configuration) + - [Environment File](#environment-file) +- [Routes](#routes) +- [Screenshots](#screenshots) +- [File Tree](#file-tree) +- [License](#license) + +### About +A Users Management CRUD [Package](https://packagist.org/packages/jeremykenedy/laravel-users) that includes all necessary routes, views, models, and controllers for a user management dashboard and associated pages for managing Laravels built in user scaffolding. +Easily start creating, updating, editing, and deleting users in minutes with minimal setup required. +Built for Laravel 5.2, 5.3, 5.4, and 5.5+. This package is easily configurable and customizable. + +Laravel users can work out the box with or without the following roles packages: +* [jeremykenedy/laravel-roles](https://github.com/jeremykenedy/laravel-roles) +* [spatie/laravel-permission](https://github.com/spatie/laravel-permission) +* [Zizaco/entrust](https://github.com/Zizaco/entrust) +* [romanbican/roles](https://github.com/romanbican/roles) +* [ultraware/roles](https://github.com/ultraware/roles) + +### Features +| Laravel Users Features | +| :------------ | +|Full CRUD of Laravel Users| +|Works with built in [auth scaffolding](https://laravel.com/docs/5.5/authentication)| +|Works with various [Roles/ACL Packages](https://github.com/jeremykenedy/laravel-roles)| +|Uses [Language localization](https://laravel.com/docs/5.5/localization) File System| +|Uses [font awesome](https://fontawesome.com/icons), cdn can be optionally called in config| +|Can use built in [pagination](https://laravel.com/docs/5.5/pagination) and/or [datatables.js](https://datatables.net/)| +|Lots of [configuration](#configuration) options| + +### Requirements * [Laravel 5.2, 5.3, 5.4, and 5.5+](https://laravel.com/docs/installation) - Example new project creation command: - - ```laravel new laravel-users-example``` - -* [Laravel Authentication Scaffolding](https://laravel.com/docs/authentication) - - Authentication installation commands: - - ```php artisan make:auth``` - ```php artisan migrate``` - -## Installation - +### Installation Instructions 1. From your projects root folder in terminal run: - Laravel 5.2 use: - ``` - composer require jeremykenedy/laravel-users:1.2.0 - ``` - - Laravel 5.3 use: + Laravel 5.5+ use: ``` - composer require jeremykenedy/laravel-users:1.3.0 + composer require jeremykenedy/laravel-users ``` Laravel 5.4 use: @@ -46,10 +56,15 @@ Built for Laravel 5.2, 5.3, 5.4, and 5.5+. composer require jeremykenedy/laravel-users:1.4.0 ``` - Laravel 5.5+ use: + Laravel 5.3 use: ``` - composer require jeremykenedy/laravel-users + composer require jeremykenedy/laravel-users:1.3.0 + ``` + + Laravel 5.2 use: + ``` + composer require jeremykenedy/laravel-users:1.2.0 ``` 2. Register Package @@ -82,19 +97,95 @@ In `config/app.php` section under `aliases` with the following: php artisan vendor:publish --tag=laravelusers ``` -## Routes +### Configuration +Laravel Users can be configured directly in `/config/laravelusers.php` if you published the assets. + +```php + /* + |-------------------------------------------------------------------------- + | Laravel-users setting + |-------------------------------------------------------------------------- + */ + + // The parent blade file + 'laravelUsersBladeExtended' => 'laravelusers::layouts.app', // 'layouts.app' + + // Enable `auth` middleware + 'authEnabled' => true, + + // Enable Optional Roles Middleware + 'rolesEnabled' => true, + + // Optional Roles Middleware + 'rolesMiddlware' => 'role:admin', + + // Optional Role Model + 'roleModel' => 'jeremykenedy\LaravelRoles\Models\Role', + + // Enable Soft Deletes + 'softDeletedEnabled' => false, + + // Laravel Default User Model + 'defaultUserModel' => 'App\User', + + // Users List Pagination + 'enablePagination' => true, + 'paginateListSize' => 25, + + // Users List JS DataTables - not recommended use with pagination + 'enabledDatatablesJs' => false, + 'datatablesJsStartCount' => 25, + 'datatablesCssCDN' => 'https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css', + 'datatablesJsCDN' => 'https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js', + 'datatablesJsPresetCDN' => 'https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js', + // Bootstrap Tooltips + 'tooltipsEnabled' => true, + + // Icons + 'fontAwesomeEnabled' => true, + 'fontAwesomeCdn' => 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css', + + // Extended blade options for packages app.blade.php + 'enableBootstrapCssCdn' => true, + 'bootstrapCssCdn' => 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css', + + 'enableAppCss' => true, + 'appCssPublicFile' => 'css/app.css', + + 'enableBootstrapJsCdn' => true, + 'bootstrapJsCdn' => 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js', + + 'enableAppJs' => false, + 'appJsPublicFile' => 'js/app.js', + + 'enablejQueryCdn' => true, + 'jQueryCdn' => 'http://code.jquery.com/jquery-3.3.1.min.js', +``` + +### Routes * ```/users``` * ```/users/{id}``` * ```/users/create``` * ```/users/{id}/edit``` -## Required Packages +###### Routes In-depth +| Method | URI | Name | Action | Middleware | +| :-------- | :--------------------- | :--------------- | :-------------------------------------------------------------------------------- | :---------- | +| GET/HEAD | users | users | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@index | web,auth | +| POST | users | users.store | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@store | web,auth | +| GET/HEAD | users/create | users.create | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@create | web,auth | +| GET/HEAD | users/{user} | users.show | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@show | web,auth | +| DELETE | users/{user} | user.destroy | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@destroy | web,auth | +| PUT/PATCH | users/{user} | users.update | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@update | web,auth | +| GET/HEAD | users/{user}/edit | users.edit | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@edit | web,auth | + +### Required Packages (included in this package) * [laravelcollective/html](https://packagist.org/packages/laravelcollective/html) -## Screenshots +### Screenshots ![Show Users](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/show-users.jpg) ![Show User](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/show-user.jpg) @@ -107,6 +198,16 @@ In `config/app.php` section under `aliases` with the following: ![Error Update](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/error-update.jpg) ![Error Delete](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/error-delete.jpg) -## License +### File Tree + +```bash + + + +``` + +* Tree command can be installed using brew: `brew install tree` +* File tree generated using command `tree -a -I '.git|node_modules|vendor|storage|tests` -Laravel-Users | A Laravel Users Management Package is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT) +### License +Laravel-Users | A Laravel Users Management Package is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT). Enjoy! diff --git a/src/App/Http/Controllers/UsersManagementController.php b/src/App/Http/Controllers/UsersManagementController.php index 5de374e..21ccc77 100755 --- a/src/App/Http/Controllers/UsersManagementController.php +++ b/src/App/Http/Controllers/UsersManagementController.php @@ -65,7 +65,18 @@ public function index() */ public function create() { - return view('laravelusers::usersmanagement.create-user'); + $roles = []; + + if ($this->_rolesEnabled) { + $roles = config('laravelusers.roleModel')::all(); + } + + $data = [ + 'rolesEnabled' => $this->_rolesEnabled, + 'roles' => $roles, + ]; + + return view('laravelusers::usersmanagement.create-user')->with($data); } /** @@ -77,26 +88,46 @@ public function create() */ public function store(Request $request) { + $rules = [ + 'name' => 'required|max:255|unique:users', + 'email' => 'required|email|max:255|unique:users', + 'password' => 'required|confirmed|min:6', + 'password_confirmation' => 'required|same:password', + ]; - $validator = Validator::make($request->all(), [ - 'name' => 'required|max:255', - 'email' => 'required|email|max:255|unique:users', - 'password' => 'required|confirmed|min:6' - ]); + if ($this->_rolesEnabled) { + $rules['role'] = 'required'; + } + + $messages = [ + 'name.unique' => trans('laravelusers::laravelusers.messages.userNameTaken'), + 'name.required' => trans('laravelusers::laravelusers.messages.userNameRequired'), + 'email.required' => trans('laravelusers::laravelusers.messages.emailRequired'), + 'email.email' => trans('laravelusers::laravelusers.messages.emailInvalid'), + 'password.required' => trans('laravelusers::laravelusers.messages.passwordRequired'), + 'password.min' => trans('laravelusers::laravelusers.messages.PasswordMin'), + 'password.max' => trans('laravelusers::laravelusers.messages.PasswordMax'), + 'role.required' => trans('laravelusers::laravelusers.messages.roleRequired'), + ]; + + $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { - $this->throwValidationException( - $request, $validator - ); - } else { - $user = new config('laravelusers.defaultUserModel'); - $user->name = $request->input('name'); - $user->email = $request->input('email'); - $user->password = bcrypt($request->input('password')); - $user->save(); + return back()->withErrors($validator)->withInput(); + } + + $user = config('laravelusers.defaultUserModel')::create([ + 'name' => $request->input('name'), + 'email' => $request->input('email'), + 'password' => bcrypt($request->input('password')), + ]); - return redirect('users')->with('success', 'Successfully created user!'); + if ($this->_rolesEnabled) { + $user->attachRole($request->input('role')); + $user->save(); } + + return redirect('users')->with('success', trans('laravelusers::laravelusers.messages.user-creation-success')); } /** @@ -121,9 +152,29 @@ public function show($id) */ public function edit($id) { - $user = config('laravelusers.defaultUserModel')::findOrFail($id); + $user = config('laravelusers.defaultUserModel')::findOrFail($id); + $roles = []; + $currentRole = ''; + + if ($this->_rolesEnabled) { + $roles = config('laravelusers.roleModel')::all(); + + foreach ($user->roles as $user_role) { + $currentRole = $user_role; + } + } + + $data = [ + 'user' => $user, + 'rolesEnabled' => $this->_rolesEnabled, + ]; + + if ($this->_rolesEnabled) { + $data['roles'] = $roles; + $data['currentRole'] = $currentRole; + } - return view('laravelusers::usersmanagement.edit-user')->withUser($user); + return view('laravelusers::usersmanagement.edit-user')->with($data); } /** @@ -136,38 +187,52 @@ public function edit($id) */ public function update(Request $request, $id) { - $currentUser = Auth::user(); - $user = config('laravelusers.defaultUserModel')::find($id); - $emailCheck = ($request->input('email') != '') && ($request->input('email') != $currentUser->email); + $user = config('laravelusers.defaultUserModel')::find($id); + $emailCheck = ($request->input('email') != '') && ($request->input('email') != $user->email); + $passwordCheck = $request->input('password') != null; + + $rules = [ + 'name' => 'required|max:255', + ]; if ($emailCheck) { - $validator = Validator::make($request->all(), [ - 'name' => 'required|max:255', - 'email' => 'nullable|email|max:255|unique:users', - 'password' => 'present|confirmed|min:6' - ]); - } else { - $validator = Validator::make($request->all(), [ - 'name' => 'required|max:255', - 'password' => 'nullable|confirmed|min:6' - ]); + $rules['email'] = 'required|email|max:255|unique:users'; } + + if ($passwordCheck) { + $rules['password'] = 'required|min:6|max:20|confirmed'; + $rules['password_confirmation'] = 'required|same:password'; + } + + if ($this->_rolesEnabled) { + $rules['role'] = 'required'; + } + + $validator = Validator::make($request->all(), $rules); + + if ($validator->fails()) { - $this->throwValidationException( - $request, $validator - ); - } else { - $user->name = $request->input('name'); - if ($emailCheck) { - $user->email = $request->input('email'); - } - if ($request->input('password') != null) { - $user->password = bcrypt($request->input('password')); - } - $user->save(); + return back()->withErrors($validator)->withInput(); + } - return back()->with('success', 'Successfully updated user'); + $user->name = $request->input('name'); + + if ($emailCheck) { + $user->email = $request->input('email'); } + + if ($passwordCheck) { + $user->password = bcrypt($request->input('password')); + } + + if ($this->_rolesEnabled) { + $user->detachAllRoles(); + $user->attachRole($request->input('role')); + } + + $user->save(); + + return back()->with('success', trans('laravelusers::laravelusers.messages.update-user-success')); } /** diff --git a/src/config/laravelusers.php b/src/config/laravelusers.php index eb261a8..cfc3219 100644 --- a/src/config/laravelusers.php +++ b/src/config/laravelusers.php @@ -20,6 +20,9 @@ // Optional Roles Middleware 'rolesMiddlware' => 'role:admin', + // Optional Role Model + 'roleModel' => 'jeremykenedy\LaravelRoles\Models\Role', + // Enable Soft Deletes 'softDeletedEnabled' => false, diff --git a/src/resources/lang/en/forms.php b/src/resources/lang/en/forms.php index 721c089..9a9df30 100755 --- a/src/resources/lang/en/forms.php +++ b/src/resources/lang/en/forms.php @@ -60,7 +60,11 @@ 'create_user_ph_education' => 'User Education', 'create_user_icon_education' => 'fa-graduation-cap', - 'create_user_button_text' => 'Create New User', + 'create_user_label_role' => 'User Role', + 'create_user_ph_role' => 'Select User Role', + 'create_user_icon_role' => 'fa-shield', + + 'create_user_button_text' => ' Create New User', // EDIT USER AS ADMINISTRATOR FORM 'edit-user-admin-title' => 'Edit User Information', @@ -72,14 +76,18 @@ 'ph-useremail' => 'User Email', 'label-userrole_id' => 'User Access Level', - 'option-label' => 'Select a Level', - 'option-user' => 'User', - 'option-editor' => 'Editor', - 'option-admin' => 'Administrator', - 'submit-btn-text' => 'Edit the User!', + 'option-label' => 'Select a Level', + 'option-user' => 'User', + 'option-editor' => 'Editor', + 'option-admin' => 'Administrator', + 'submit-btn-text' => 'Edit the User!', + + 'submit-btn-icon' => 'fa-save', + 'username-icon' => 'fa-user', + 'useremail-icon' => 'fa-envelope-o', - 'submit-btn-icon' => 'fa-save', - 'username-icon' => 'fa-user', - 'useremail-icon' => 'fa-envelope-o', + 'change-pw' => 'Change Password', + 'cancel' => 'Cancel', + 'save-changes' => ' Save Changes', -]; \ No newline at end of file +]; diff --git a/src/resources/lang/en/laravelusers.php b/src/resources/lang/en/laravelusers.php index 23cc717..c5f7200 100644 --- a/src/resources/lang/en/laravelusers.php +++ b/src/resources/lang/en/laravelusers.php @@ -13,6 +13,11 @@ 'create-new-user' => 'Create New User', 'show-deleted-users' => 'Show Deleted User', + 'create-new-user' => 'Create New User', + 'editing-user' => 'Editing User :name', + 'showing-user' => 'Showing User :name', + 'showing-user-title' => ':name\'s Information', + 'users-table' => [ 'id' => 'ID', 'name' => 'Name', @@ -25,9 +30,13 @@ ], 'buttons' => [ - 'delete' => ' ', - 'show' => ' ', - 'edit' => ' ', + 'delete' => ' ', + 'show' => ' ', + 'edit' => ' ', + 'back-to-users' => '', + 'back-to-user' => 'Back ', + 'delete-user' => ' ', + 'edit-user' => ' ', ], 'tooltips' => [ @@ -36,4 +45,31 @@ 'edit' => 'Edit', ], + 'messages' => [ + 'userNameTaken' => 'Username is taken', + 'userNameRequired' => 'Username is required', + 'fNameRequired' => 'First Name is required', + 'lNameRequired' => 'Last Name is required', + 'emailRequired' => 'Email is required', + 'emailInvalid' => 'Email is invalid', + 'passwordRequired' => 'Password is required', + 'PasswordMin' => 'Password needs to have at least 6 characters', + 'PasswordMax' => 'Password maximum length is 20 characters', + 'captchaRequire' => 'Captcha is required', + 'CaptchaWrong' => 'Wrong captcha, please try again.', + 'roleRequired' => 'User role is required.', + 'user-creation-success' => 'Successfully created user!', + 'update-user-success' => 'Successfully updated user!' + ], + + 'show-user' => [ + 'id' => 'User ID', + 'name' => 'Username', + 'email' => 'Email', + 'role' => 'User Role', + 'created' => 'Created ', + 'updated' => 'Updated ', + 'labelRole' => 'User Role', + 'labelAccessLevel' => ' Access Level| Access Levels', + ], ]; diff --git a/src/resources/views/layouts/app.blade.php b/src/resources/views/layouts/app.blade.php index d465a97..ac438f9 100755 --- a/src/resources/views/layouts/app.blade.php +++ b/src/resources/views/layouts/app.blade.php @@ -87,6 +87,7 @@ @yield('content') + {{-- Scripts --}} @@ -99,13 +100,9 @@ @if(config('laravelusers.enableAppJs')) @endif - + @include('laravelusers::scripts.toggleText') + @yield('template_scripts') + diff --git a/src/resources/views/partials/styles.blade.php b/src/resources/views/partials/styles.blade.php index d019fde..2b8ad7a 100644 --- a/src/resources/views/partials/styles.blade.php +++ b/src/resources/views/partials/styles.blade.php @@ -1,4 +1,8 @@ diff --git a/src/resources/views/scripts/check-changed.blade.php b/src/resources/views/scripts/check-changed.blade.php new file mode 100644 index 0000000..bb7e0e9 --- /dev/null +++ b/src/resources/views/scripts/check-changed.blade.php @@ -0,0 +1,23 @@ + diff --git a/src/resources/views/scripts/toggleText.blade.php b/src/resources/views/scripts/toggleText.blade.php new file mode 100644 index 0000000..188f6eb --- /dev/null +++ b/src/resources/views/scripts/toggleText.blade.php @@ -0,0 +1,7 @@ + diff --git a/src/resources/views/usersmanagement/create-user.blade.php b/src/resources/views/usersmanagement/create-user.blade.php index ed4031b..e61f751 100755 --- a/src/resources/views/usersmanagement/create-user.blade.php +++ b/src/resources/views/usersmanagement/create-user.blade.php @@ -1,10 +1,17 @@ -@extends('laravelusers::layouts.app') +@extends(config('laravelusers.laravelUsersBladeExtended')) @section('template_title') - Create New User + @lang('laravelusers::laravelusers.create-new-user') @endsection -@section('template_fastload_css') +@section('template_linked_css') + @if(config('laravelusers.enabledDatatablesJs')) + + @endif + @if(config('laravelusers.fontAwesomeEnabled')) + + @endif + @include('laravelusers::partials.styles') @endsection @section('content') @@ -15,11 +22,13 @@
@@ -27,51 +36,135 @@ @include('laravelusers::partials.form-status') - {!! Form::open(array('action' => '\jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@store', 'method' => 'POST', 'role' => 'form')) !!} + {!! Form::open(array('route' => 'users.store', 'method' => 'POST', 'role' => 'form')) !!} {!! csrf_field() !!} -
- {!! Form::label('email', Lang::get('forms.create_user_label_email'), array('class' => 'col-md-3 control-label')); !!} +
+ @if(config('laravelusers.fontAwesomeEnabled')) + {!! Form::label('email', trans('laravelusers::forms.create_user_label_email'), array('class' => 'col-md-3 control-label')); !!} + @endif
- {!! Form::text('email', NULL, array('id' => 'email', 'class' => 'form-control', 'placeholder' => Lang::get('forms.create_user_ph_email'))) !!} - + {!! Form::text('email', NULL, array('id' => 'email', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.create_user_ph_email'))) !!} +
+ @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif
-
- {!! Form::label('name', Lang::get('forms.create_user_label_username'), array('class' => 'col-md-3 control-label')); !!} +
+ @if(config('laravelusers.fontAwesomeEnabled')) + {!! Form::label('name', trans('laravelusers::forms.create_user_label_username'), array('class' => 'col-md-3 control-label')); !!} + @endif
- {!! Form::text('name', NULL, array('id' => 'name', 'class' => 'form-control', 'placeholder' => Lang::get('forms.create_user_ph_username'))) !!} - + {!! Form::text('name', NULL, array('id' => 'name', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.create_user_ph_username'))) !!} +
+ @if ($errors->has('name')) + + {{ $errors->first('name') }} + + @endif
-
- {!! Form::label('password', Lang::get('forms.create_user_label_password'), array('class' => 'col-md-3 control-label')); !!} + @if($rolesEnabled) +
+ @if(config('laravelusers.fontAwesomeEnabled')) + {!! Form::label('role', trans('laravelusers::forms.create_user_label_role'), array('class' => 'col-md-3 control-label')); !!} + @endif +
+
+ + +
+ @if ($errors->has('role')) + + {{ $errors->first('role') }} + + @endif +
+
+ @endif + +
+ @if(config('laravelusers.fontAwesomeEnabled')) + {!! Form::label('password', trans('laravelusers::forms.create_user_label_password'), array('class' => 'col-md-3 control-label')); !!} + @endif
- {!! Form::password('password', array('id' => 'password', 'class' => 'form-control ', 'placeholder' => Lang::get('forms.create_user_ph_password'))) !!} - + {!! Form::password('password', array('id' => 'password', 'class' => 'form-control ', 'placeholder' => trans('laravelusers::forms.create_user_ph_password'))) !!} +
+ @if ($errors->has('password')) + + {{ $errors->first('password') }} + + @endif
-
- {!! Form::label('password_confirmation', Lang::get('forms.create_user_label_pw_confirmation'), array('class' => 'col-md-3 control-label')); !!} +
+ @if(config('laravelusers.fontAwesomeEnabled')) + {!! Form::label('password_confirmation', trans('laravelusers::forms.create_user_label_pw_confirmation'), array('class' => 'col-md-3 control-label')); !!} + @endif
- {!! Form::password('password_confirmation', array('id' => 'password_confirmation', 'class' => 'form-control', 'placeholder' => Lang::get('forms.create_user_ph_pw_confirmation'))) !!} - + {!! Form::password('password_confirmation', array('id' => 'password_confirmation', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.create_user_ph_pw_confirmation'))) !!} +
+ @if ($errors->has('password_confirmation')) + + {{ $errors->first('password_confirmation') }} + + @endif
- {!! Form::button(' ' . Lang::get('forms.create_user_button_text'), array('class' => 'btn btn-success btn-flat margin-bottom-1 pull-right','type' => 'submit', )) !!} + {!! Form::button(trans('laravelusers::forms.create_user_button_text'), array('class' => 'btn btn-success btn-flat margin-bottom-1 pull-right','type' => 'submit', )) !!} {!! Form::close() !!} @@ -84,4 +177,4 @@ @endsection @section('template_scripts') -@endsection \ No newline at end of file +@endsection diff --git a/src/resources/views/usersmanagement/edit-user.blade.php b/src/resources/views/usersmanagement/edit-user.blade.php index 80733b2..6b0f7cb 100755 --- a/src/resources/views/usersmanagement/edit-user.blade.php +++ b/src/resources/views/usersmanagement/edit-user.blade.php @@ -1,16 +1,17 @@ -@extends('laravelusers::layouts.app') +@extends(config('laravelusers.laravelUsersBladeExtended')) @section('template_title') - Editing User {{ $user->name }} + @lang('laravelusers::laravelusers.editing-user', ['name' => $user->name]) @endsection @section('template_linked_css') - + @if(config('laravelusers.enabledDatatablesJs')) + + @endif + @if(config('laravelusers.fontAwesomeEnabled')) + + @endif + @include('laravelusers::partials.styles') @endsection @section('content') @@ -21,21 +22,25 @@
- {!! Form::model($user, array('action' => array('\jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@update', $user->id), 'method' => 'PUT')) !!} + {!! Form::open(array('route' => ['users.update', $user->id], 'method' => 'PUT', 'role' => 'form')) !!} {!! csrf_field() !!} @@ -43,43 +48,86 @@ @include('laravelusers::partials.form-status') -
- {!! Form::label('name', 'Name' , array('class' => 'col-md-3 control-label')); !!} +
+ {!! Form::label('name', trans('laravelusers::forms.ph-username'), array('class' => 'col-md-3 control-label')); !!}
- {!! Form::text('name', old('name'), array('id' => 'name', 'class' => 'form-control', 'placeholder' => Lang::get('forms.ph-username'))) !!} - + {!! Form::text('name', $user->name, array('id' => 'name', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.ph-username'))) !!} +
-
- {!! Form::label('email', 'E-mail' , array('class' => 'col-md-3 control-label')); !!} +
+ {!! Form::label('email', trans('laravelusers::forms.label-useremail'), array('class' => 'col-md-3 control-label')); !!}
- {!! Form::text('email', old('email'), array('id' => 'email', 'class' => 'form-control', 'placeholder' => Lang::get('forms.ph-useremail'))) !!} - + {!! Form::text('email', $user->email, array('id' => 'email', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.ph-useremail'))) !!} +
+ @if($rolesEnabled) +
+ {!! Form::label('role', trans('laravelusers::forms.create_user_label_role'), array('class' => 'col-md-3 control-label')); !!} +
+
+ + +
+
+
+ @endif +
-
- {!! Form::label('password', Lang::get('forms.create_user_label_password'), array('class' => 'col-md-3 control-label')); !!} +
+ {!! Form::label('password', trans('laravelusers::forms.create_user_label_password'), array('class' => 'col-md-3 control-label')); !!}
- {!! Form::password('password', array('id' => 'password', 'class' => 'form-control ', 'placeholder' => Lang::get('forms.create_user_ph_password'))) !!} - + {!! Form::password('password', array('id' => 'password', 'class' => 'form-control ', 'placeholder' => trans('laravelusers::forms.create_user_ph_password'))) !!} +
-
- {!! Form::label('password_confirmation', Lang::get('forms.create_user_label_pw_confirmation'), array('class' => 'col-md-3 control-label')); !!} +
+ {!! Form::label('password_confirmation', trans('laravelusers::forms.create_user_label_pw_confirmation'), array('class' => 'col-md-3 control-label')); !!}
- {!! Form::password('password_confirmation', array('id' => 'password_confirmation', 'class' => 'form-control', 'placeholder' => Lang::get('forms.create_user_ph_pw_confirmation'))) !!} - + {!! Form::password('password_confirmation', array('id' => 'password_confirmation', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.create_user_ph_pw_confirmation'))) !!} +
@@ -87,19 +135,19 @@
@@ -116,26 +164,7 @@ @endsection @section('template_scripts') - @include('laravelusers::scripts.delete-modal-script') @include('laravelusers::scripts.save-modal-script') - - - -@endsection \ No newline at end of file + @include('laravelusers::scripts.check-changed') +@endsection diff --git a/src/resources/views/usersmanagement/show-user.blade.php b/src/resources/views/usersmanagement/show-user.blade.php index f8b054c..c7c7370 100755 --- a/src/resources/views/usersmanagement/show-user.blade.php +++ b/src/resources/views/usersmanagement/show-user.blade.php @@ -1,92 +1,180 @@ -@extends('laravelusers::layouts.app') +@extends(config('laravelusers.laravelUsersBladeExtended')) @section('template_title') - Showing User {{ $user->name }} + @lang('laravelusers::laravelusers.showing-user', ['name' => $user->name]) @endsection @section('template_linked_css') - - + @if(config('laravelusers.enabledDatatablesJs')) + + @endif + @if(config('laravelusers.fontAwesomeEnabled')) + + @endif + @include('laravelusers::partials.styles') @endsection @section('content')
-
-
- - @include('laravelusers::partials.form-status') - +
- {{ $user->name }}'s Information + @lang('laravelusers::laravelusers.showing-user-title', ['name' => $user->name]) - - - Back to Users + + @if(config('laravelusers.fontAwesomeEnabled')) + + @endif + @lang('laravelusers::laravelusers.buttons.back-to-users')
-
- - - - - - - - - - - - - - - -
IdUsernameEmail
- {{ $user->id }} - - {{ $user->name }} - - {{ $user->email }} -
-
-