├── _config.yml ├── .github ├── FUNDING.yml └── dependabot.yml ├── src ├── resources │ ├── views │ │ ├── scripts │ │ │ ├── toggleText.blade.php │ │ │ ├── tooltips.blade.php │ │ │ ├── save-modal-script.blade.php │ │ │ ├── delete-modal-script.blade.php │ │ │ ├── check-changed.blade.php │ │ │ ├── datatables.blade.php │ │ │ └── search-users.blade.php │ │ ├── modals │ │ │ ├── modal-delete.blade.php │ │ │ └── modal-save.blade.php │ │ ├── partials │ │ │ ├── form-status.blade.php │ │ │ ├── search-users-form.blade.php │ │ │ ├── styles.blade.php │ │ │ └── bs-visibility-css.blade.php │ │ ├── layouts │ │ │ └── app.blade.php │ │ └── usersmanagement │ │ │ ├── show-users.blade.php │ │ │ ├── show-user.blade.php │ │ │ ├── create-user.blade.php │ │ │ └── edit-user.blade.php │ └── lang │ │ ├── en │ │ ├── app.php │ │ ├── modals.php │ │ ├── forms.php │ │ └── laravelusers.php │ │ ├── pt-br │ │ ├── app.php │ │ ├── modals.php │ │ ├── forms.php │ │ └── laravelusers.php │ │ ├── nl │ │ ├── app.php │ │ ├── modals.php │ │ ├── forms.php │ │ └── laravelusers.php │ │ ├── ar │ │ ├── app.php │ │ ├── modals.php │ │ ├── forms.php │ │ └── laravelusers.php │ │ └── de │ │ ├── app.php │ │ ├── modals.php │ │ ├── forms.php │ │ └── laravelusers.php ├── LaravelUsersFacade.php ├── routes │ └── web.php ├── LaravelUsersServiceProvider.php ├── config │ └── laravelusers.php └── App │ └── Http │ └── Controllers │ └── UsersManagementController.php ├── .env.travis ├── .travis.yml ├── .gitignore ├── tests └── TestCase.php ├── composer.json ├── LICENSE ├── phpunit.xml └── readme.md /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [jeremykenedy] 4 | patreon: jeremykenedy 5 | -------------------------------------------------------------------------------- /src/resources/views/scripts/toggleText.blade.php: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /src/LaravelUsersFacade.php: -------------------------------------------------------------------------------- 1 | 2 | $(function () { 3 | var is_touch_device = 'ontouchstart' in document.documentElement; 4 | if (!is_touch_device) { 5 | $('[data-toggle="tooltip"]').tooltip(); 6 | } 7 | }); 8 | 9 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "weekly" 12 | -------------------------------------------------------------------------------- /src/resources/lang/en/app.php: -------------------------------------------------------------------------------- 1 | [ 12 | 'toggle-nav-alt' => 'Toggle Navigation', 13 | 'login' => 'Login', 14 | 'register' => 'Register', 15 | 'users' => 'Users', 16 | 'logout' => 'Logout', 17 | ], 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /src/resources/lang/pt-br/app.php: -------------------------------------------------------------------------------- 1 | [ 12 | 'toggle-nav-alt' => 'Alterar Navegação', 13 | 'login' => 'Login', 14 | 'register' => 'Registrar', 15 | 'users' => 'Usuários', 16 | 'logout' => 'Sair', 17 | ], 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /src/resources/lang/nl/app.php: -------------------------------------------------------------------------------- 1 | [ 12 | 'toggle-nav-alt' => 'Navigatie Aan/Uit', 13 | 'login' => 'Inloggen', 14 | 'register' => 'Registreren', 15 | 'users' => 'Gebruikers', 16 | 'logout' => 'Uitloggen', 17 | ], 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /src/resources/lang/ar/app.php: -------------------------------------------------------------------------------- 1 | [ 12 | 'toggle-nav-alt' => 'تبديل العرض', 13 | 'login' => 'تسجيل الدخول', 14 | 'register' => 'تسجيل حساب جديد', 15 | 'users' => 'المستخدمين', 16 | 'logout' => 'تسجيل الخروج', 17 | ], 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /src/resources/lang/de/app.php: -------------------------------------------------------------------------------- 1 | [ 12 | 'toggle-nav-alt' => 'Navigation anzeigen/ausblenden', 13 | 'login' => 'Login', 14 | 'register' => 'Registrieren', 15 | 'users' => 'Benutzer', 16 | 'logout' => 'Logout', 17 | ], 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /src/resources/views/scripts/save-modal-script.blade.php: -------------------------------------------------------------------------------- 1 | {{-- Confirm Save Modal --}} 2 | 3 | -------------------------------------------------------------------------------- /src/resources/views/scripts/delete-modal-script.blade.php: -------------------------------------------------------------------------------- 1 | {{-- Confirm Delete Modal --}} 2 | 3 | -------------------------------------------------------------------------------- /.env.travis: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_LOG_LEVEL=debug 6 | APP_URL=http://localhost 7 | 8 | DB_CONNECTION=mysql 9 | DB_HOST=127.0.0.1 10 | DB_PORT=3306 11 | DB_DATABASE=laravelUsers 12 | DB_USERNAME=root 13 | DB_PASSWORD= 14 | 15 | BROADCAST_DRIVER=log 16 | CACHE_DRIVER=array 17 | SESSION_DRIVER=file 18 | SESSION_LIFETIME=120 19 | QUEUE_DRIVER=sync 20 | 21 | REDIS_HOST=127.0.0.1 22 | REDIS_PASSWORD=null 23 | REDIS_PORT=6379 24 | 25 | MAIL_DRIVER=smtp 26 | MAIL_HOST=smtp.mailtrap.io 27 | MAIL_PORT=2525 28 | MAIL_USERNAME=null 29 | MAIL_PASSWORD=null 30 | MAIL_ENCRYPTION=null 31 | 32 | PUSHER_APP_ID= 33 | PUSHER_APP_KEY= 34 | PUSHER_APP_SECRET= 35 | PUSHER_APP_CLUSTER=mt1 36 | -------------------------------------------------------------------------------- /src/resources/views/scripts/check-changed.blade.php: -------------------------------------------------------------------------------- 1 | 24 | -------------------------------------------------------------------------------- /src/routes/web.php: -------------------------------------------------------------------------------- 1 | 'web', 'namespace' => 'jeremykenedy\laravelusers\app\Http\Controllers'], function () { 12 | Route::resource('users', 'UsersManagementController', [ 13 | 'names' => [ 14 | 'index' => 'users', 15 | 'destroy' => 'user.destroy', 16 | ], 17 | ]); 18 | }); 19 | 20 | Route::middleware(['web', 'auth'])->group(function () { 21 | Route::post('search-users', 'jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@search')->name('search-users'); 22 | }); 23 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | sudo: required 3 | dist: trusty 4 | group: edge 5 | 6 | php: 7 | - 7.3 8 | - 7.4 9 | 10 | sudo: false 11 | 12 | services: 13 | - mysql 14 | 15 | before_script: 16 | - mysql -u root -e 'create database laravelUsers;' 17 | - curl -s http://getcomposer.org/installer | php 18 | - php composer.phar install 19 | - composer create-project --prefer-dist laravel/laravel laravelusers 20 | - cp .env.travis laravelusers/.env 21 | - cd laravelusers 22 | - composer self-update 23 | - composer install --prefer-source --no-interaction 24 | - composer require laravel/ui 25 | - composer require jeremykenedy/laravel-users 26 | - php artisan key:generate 27 | - php artisan vendor:publish --tag=laravelusers 28 | - php artisan ui vue --auth 29 | - composer dump-autoload 30 | - php artisan clear-compiled 31 | 32 | script: vendor/bin/phpunit 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### OSX Vendor Configs ### 2 | .DS_Store 3 | *._DS_Store 4 | ._.DS_Store 5 | *._ 6 | ._* 7 | ._.* 8 | 9 | ### Windows Vendor Configs ### 10 | Thumbs.db 11 | 12 | ### Sass ### 13 | #bower_components/* 14 | /.sass-cache/* 15 | .sass-cache 16 | 17 | ### Sublimt Text Vendor Configs ### 18 | *.sublime-workspace 19 | 20 | ### PHP Storm Vendor Configs ### 21 | .idea/* 22 | /.idea/* 23 | .phpintel/* 24 | /.phpintel/* 25 | 26 | ### VS Code Vendor Configs ### 27 | /.vscode 28 | 29 | ### Vagrant/Homestead Vendor Configs ### 30 | /.vagrant 31 | Homestead.yaml 32 | Homestead.json 33 | 34 | ### Master Configs ### 35 | .env 36 | composer.lock 37 | 38 | ### Assets ### 39 | /node_modules 40 | /public/hot 41 | /public/storage 42 | /storage/*.key 43 | /vendor 44 | /storage/debugbar 45 | /storage/framework 46 | /storage/logs 47 | /storage/users 48 | packages/ 49 | 50 | # Debug Files 51 | npm-debug.log 52 | yarn-error.log 53 | 54 | -------------------------------------------------------------------------------- /src/resources/views/scripts/datatables.blade.php: -------------------------------------------------------------------------------- 1 | {{-- FYI: Datatables do not support colspan or rowspan --}} 2 | 3 | 4 | 24 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | LaravelUsersFacade::class, 34 | ]; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jeremykenedy/laravel-users", 3 | "description": "Laravel Users Management CRUD Package", 4 | "keywords": [ 5 | "laravel", 6 | "users", 7 | "management", 8 | "CRUD" 9 | ], 10 | "license": "MIT", 11 | "type": "package", 12 | "authors": [ 13 | { 14 | "name": "jeremykenedy", 15 | "email": "jeremykenedy@gmail.com" 16 | } 17 | ], 18 | "require": { 19 | "php": "^7.2|^8.0|^8.1|^8.2|^8.3", 20 | "laravellux/html": "^7.1" 21 | }, 22 | "autoload": { 23 | "psr-4": { 24 | "jeremykenedy\\laravelusers\\": "src/" 25 | } 26 | }, 27 | "autoload-dev": { 28 | "psr-4": { 29 | "jeremykenedy\\laravelusers\\Test\\": "tests/" 30 | } 31 | }, 32 | "extra": { 33 | "laravel": { 34 | "providers": [ 35 | "jeremykenedy\\laravelusers\\LaravelUsersServiceProvider" 36 | ] 37 | } 38 | }, 39 | "config": { 40 | "sort-packages": true 41 | }, 42 | "minimum-stability": "stable" 43 | } 44 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017-2020 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/Feature 15 | 16 | 17 | 18 | 19 | src/ 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/resources/views/modals/modal-delete.blade.php: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /src/resources/lang/ar/modals.php: -------------------------------------------------------------------------------- 1 | 'تأكيد الحفظ', 16 | 'confirm_modal_title_std_msg' => 'يرجي تأكيد طلبك.', 17 | 18 | // Confirm Save Modal; 19 | 'confirm_modal_button_save_text' => 'حفظ التغييرات', 20 | 'confirm_modal_button_save_icon' => 'fa-save', 21 | 'confirm_modal_button_cancel_text' => 'الغاء', 22 | 'confirm_modal_button_cancel_icon' => 'fa-times', 23 | 'edit_user__modal_text_confirm_title' => 'تأكيد الحفظ', 24 | 'edit_user__modal_text_confirm_message' => 'يرجي تأكيد التغييرات المطلوبة', 25 | 26 | // Delete Modal 27 | 'delete_user_title' => 'حذف المستخدم', 28 | 'delete_user_message' => 'هل ترغب فعلا في حذف المستخدم :user?', 29 | 'delete_user_btn_cancel' => ' الغاء', 30 | 'delete_user_btn_confirm' => ' حذف المستخدم', 31 | ]; 32 | -------------------------------------------------------------------------------- /src/resources/lang/en/modals.php: -------------------------------------------------------------------------------- 1 | 'Confirm Save', 16 | 'confirm_modal_title_std_msg' => 'Please confirm your request.', 17 | 18 | // Confirm Save Modal; 19 | 'confirm_modal_button_save_text' => 'Save Changes', 20 | 'confirm_modal_button_save_icon' => 'fa-save', 21 | 'confirm_modal_button_cancel_text' => 'Cancel', 22 | 'confirm_modal_button_cancel_icon' => 'fa-times', 23 | 'edit_user__modal_text_confirm_title' => 'Confirm Save', 24 | 'edit_user__modal_text_confirm_message' => 'Please confirm your changes.', 25 | 26 | // Delete Modal 27 | 'delete_user_title' => 'Delete User', 28 | 'delete_user_message' => 'Are you sure you want to delete :user?', 29 | 'delete_user_btn_cancel' => ' Cancel', 30 | 'delete_user_btn_confirm' => ' Delete this User', 31 | ]; 32 | -------------------------------------------------------------------------------- /src/resources/lang/pt-br/modals.php: -------------------------------------------------------------------------------- 1 | 'Deseja mesmo Salvar?', 16 | 'confirm_modal_title_std_msg' => 'Por favor confirme.', 17 | 18 | // Confirm Save Modal; 19 | 'confirm_modal_button_save_text' => 'Salvar Mudanças', 20 | 'confirm_modal_button_save_icon' => 'fa-save', 21 | 'confirm_modal_button_cancel_text' => 'Cancelar', 22 | 'confirm_modal_button_cancel_icon' => 'fa-times', 23 | 'edit_user__modal_text_confirm_title' => 'Confirmar Salvar', 24 | 'edit_user__modal_text_confirm_message' => 'Por favor confirme suas mudanças!', 25 | 26 | // Delete Modal 27 | 'delete_user_title' => 'Apagar Usuário', 28 | 'delete_user_message' => 'Deseja mesmo apagar o usuário :user?', 29 | 'delete_user_btn_cancel' => ' Cancelar', 30 | 'delete_user_btn_confirm' => ' Apagar o Usuário', 31 | ]; 32 | -------------------------------------------------------------------------------- /src/resources/lang/nl/modals.php: -------------------------------------------------------------------------------- 1 | 'Opslaan Bevestigen', 16 | 'confirm_modal_title_std_msg' => 'Bevestig uw aanvraag.', 17 | 18 | // Confirm Save Modal; 19 | 'confirm_modal_button_save_text' => 'Wijzigingen Opslaan', 20 | 'confirm_modal_button_save_icon' => 'fa-save', 21 | 'confirm_modal_button_cancel_text' => 'Annuleren', 22 | 'confirm_modal_button_cancel_icon' => 'fa-times', 23 | 'edit_user__modal_text_confirm_title' => 'Opslaan Bevestigen', 24 | 'edit_user__modal_text_confirm_message' => 'Bevestig uw wijzigingen.', 25 | 26 | // Delete Modal 27 | 'delete_user_title' => 'Gebruiker verwijderen', 28 | 'delete_user_message' => 'Weet u zeker dat u gebruiker :user wilt verwijderen?', 29 | 'delete_user_btn_cancel' => ' Annuleren', 30 | 'delete_user_btn_confirm' => ' Verwijder Gebruiker', 31 | ]; 32 | -------------------------------------------------------------------------------- /src/resources/lang/de/modals.php: -------------------------------------------------------------------------------- 1 | 'Speichern bestätigen', 16 | 'confirm_modal_title_std_msg' => 'Please confirm your request.', 17 | 18 | // Confirm Save Modal; 19 | 'confirm_modal_button_save_text' => 'Änderungen speichern', 20 | 'confirm_modal_button_save_icon' => 'fa-save', 21 | 'confirm_modal_button_cancel_text' => 'Abbruch', 22 | 'confirm_modal_button_cancel_icon' => 'fa-times', 23 | 'edit_user__modal_text_confirm_title' => 'Änderungen speichern', 24 | 'edit_user__modal_text_confirm_message' => 'Bitte bestätigen Sie die Änderungen.', 25 | 26 | // Delete Modal 27 | 'delete_user_title' => 'Benutzer löschen', 28 | 'delete_user_message' => 'Möchten Sie den Benutzer wirklich löschen?', 29 | 'delete_user_btn_cancel' => ' Abbruch', 30 | 'delete_user_btn_confirm' => ' Diesen Benutzer löschen', 31 | ]; 32 | -------------------------------------------------------------------------------- /src/resources/views/modals/modal-save.blade.php: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /src/resources/views/partials/form-status.blade.php: -------------------------------------------------------------------------------- 1 | @if (session('message')) 2 |
3 |

4 | 5 |

6 | × 7 | {{ session('message') }} 8 |
9 | @endif 10 | 11 | @if (session('success')) 12 |
13 | × 14 |

15 | Success 16 |

{{ session('success') }} 17 |
18 | @endif 19 | 20 | @if (session('error')) 21 | 32 | @endif 33 | 34 | @if (count($errors) > 0) 35 |
36 | × 37 |

38 | 39 | 40 | Errors 41 | 42 |

43 | 50 |
51 | @endif 52 | -------------------------------------------------------------------------------- /src/LaravelUsersServiceProvider.php: -------------------------------------------------------------------------------- 1 | loadTranslationsFrom(__DIR__.'/resources/lang/', $this->_packageTag); 26 | } 27 | 28 | /** 29 | * Register the application services. 30 | * 31 | * @return void 32 | */ 33 | public function register() 34 | { 35 | $this->loadRoutesFrom(__DIR__.'/routes/web.php'); 36 | $this->loadViewsFrom(__DIR__.'/resources/views/', $this->_packageTag); 37 | $this->mergeConfigFrom(__DIR__.'/config/'.$this->_packageTag.'.php', $this->_packageTag); 38 | $this->publishFiles(); 39 | $this->app->make('jeremykenedy\laravelusers\App\Http\Controllers\UsersManagementController'); 40 | $this->app->singleton(jeremykenedy\laravelusers\App\Http\Controllers\UsersManagementController\UsersManagementController::class, function () { 41 | return new App\Http\Controllers\UsersManagementController(); 42 | }); 43 | $this->app->alias(UsersManagementController::class, 'laravelusers'); 44 | } 45 | 46 | /** 47 | * Publish files for the package. 48 | * 49 | * @return void 50 | */ 51 | private function publishFiles() 52 | { 53 | $publishTag = $this->_packageTag; 54 | 55 | $this->publishes([ 56 | __DIR__.'/config/'.$this->_packageTag.'.php' => base_path('config/'.$this->_packageTag.'.php'), 57 | ], $publishTag); 58 | 59 | $this->publishes([ 60 | __DIR__.'/resources/views' => resource_path('views/vendor/'.$this->_packageTag), 61 | ], $publishTag); 62 | 63 | $this->publishes([ 64 | __DIR__.'/resources/lang' => resource_path('lang/vendor/'.$this->_packageTag), 65 | ], $publishTag); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/resources/views/partials/search-users-form.blade.php: -------------------------------------------------------------------------------- 1 |
2 |
3 | {!! Form::open(['route' => 'search-users', 'method' => 'POST', 'role' => 'form', 'class' => 'needs-validation', 'id' => 'search_users']) !!} 4 | {!! csrf_field() !!} 5 |
6 | {!! Form::text('user_search_box', NULL, ['id' => 'user_search_box', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.search-users-ph'), 'aria-label' => trans('laravelusers::forms.search-users-ph'), 'required' => false]) !!} 7 |
8 | 9 | @if(config('laravelusers.fontAwesomeEnabled')) 10 | 11 | 12 | {!! trans('laravelusers::laravelusers.tooltips.clear-search') !!} 13 | 14 | @else 15 | {!! trans('laravelusers::laravelusers.tooltips.clear-search') !!} 16 | @endif 17 | 18 | @if(config('laravelusers.fontAwesomeEnabled')) 19 | {!! Form::button(' ' . trans('laravelusers::laravelusers.tooltips.submit-search') . ' ', ['class' => 'btn btn-secondary', 'type' => 'submit', 'data-toggle' => 'tooltip', 'data-placement' => 'bottom', 'title' => trans('laravelusers::laravelusers.tooltips.submit-search')]) !!} 20 | @else 21 | {!! Form::button(trans('laravelusers::laravelusers.tooltips.submit-search'), ['class' => 'btn btn-secondary', 'type' => 'submit', 'title' => trans('laravelusers::laravelusers.tooltips.submit-search')]) !!} 22 | @endif 23 |
24 |
25 | {!! Form::close() !!} 26 |
27 |
28 | 29 | -------------------------------------------------------------------------------- /src/resources/views/partials/styles.blade.php: -------------------------------------------------------------------------------- 1 | 105 | -------------------------------------------------------------------------------- /src/config/laravelusers.php: -------------------------------------------------------------------------------- 1 | 'laravelusers::layouts.app', // 'layouts.app' 13 | 14 | // Enable `auth` middleware 15 | 'authEnabled' => true, 16 | 17 | // Enable Optional Roles Middleware on the users assignments 18 | 'rolesEnabled' => false, 19 | 20 | /* 21 | | Enable Roles Middlware on the usability of this package. 22 | | This requires the middleware from the roles package to be registered in `App\Http\Kernel.php` 23 | | An Example: of roles middleware entry in protected `$routeMiddleware` array would be: 24 | | 'role' => \jeremykenedy\LaravelRoles\Middleware\VerifyRole::class, 25 | */ 26 | 27 | 'rolesMiddlwareEnabled' => true, 28 | 29 | // Optional Roles Middleware 30 | 'rolesMiddlware' => 'role:admin', 31 | 32 | // Optional Role Model 33 | 'roleModel' => 'jeremykenedy\LaravelRoles\Models\Role', 34 | 35 | // Enable Soft Deletes - Not yet setup - on the roadmap. 36 | 'softDeletedEnabled' => false, 37 | 38 | // Laravel Default User Model 39 | 'defaultUserModel' => 'App\User', 40 | 41 | // Use the provided blade templates or extend to your own templates. 42 | 'showUsersBlade' => 'laravelusers::usersmanagement.show-users', 43 | 'createUserBlade' => 'laravelusers::usersmanagement.create-user', 44 | 'showIndividualUserBlade' => 'laravelusers::usersmanagement.show-user', 45 | 'editIndividualUserBlade' => 'laravelusers::usersmanagement.edit-user', 46 | 47 | // Use Package Bootstrap Flash Alerts 48 | 'enablePackageBootstapAlerts' => true, 49 | 50 | // Users List Pagination 51 | 'enablePagination' => true, 52 | 'paginateListSize' => 25, 53 | 54 | // Enable Search Users- Uses jQuery Ajax 55 | 'enableSearchUsers' => true, 56 | 57 | // Users List JS DataTables - not recommended use with pagination 58 | 'enabledDatatablesJs' => false, 59 | 'datatablesJsStartCount' => 25, 60 | 'datatablesCssCDN' => 'https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css', 61 | 'datatablesJsCDN' => 'https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js', 62 | 'datatablesJsPresetCDN' => 'https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js', 63 | 64 | // Bootstrap Tooltips 65 | 'tooltipsEnabled' => true, 66 | 'enableBootstrapPopperJsCdn' => true, 67 | 'bootstrapPopperJsCdn' => 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', 68 | 69 | // Icons 70 | 'fontAwesomeEnabled' => true, 71 | 'fontAwesomeCdn' => 'https://use.fontawesome.com/releases/v5.0.6/css/all.css', 72 | 73 | // Extended blade options for packages app.blade.php 74 | 'enableBootstrapCssCdn' => true, 75 | 'bootstrapCssCdn' => 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css', 76 | 77 | 'enableAppCss' => true, 78 | 'appCssPublicFile' => 'css/app.css', 79 | 80 | 'enableBootstrapJsCdn' => true, 81 | 'bootstrapJsCdn' => 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js', 82 | 83 | 'enableAppJs' => true, 84 | 'appJsPublicFile' => 'js/app.js', 85 | 86 | 'enablejQueryCdn' => true, 87 | 'jQueryCdn' => 'https://code.jquery.com/jquery-3.3.1.min.js', 88 | 89 | ]; 90 | -------------------------------------------------------------------------------- /src/resources/lang/de/forms.php: -------------------------------------------------------------------------------- 1 | 'E-Mail', 16 | 'create_user_ph_email' => 'E-Mail', 17 | 'create_user_icon_email' => 'fa-envelope', 18 | 19 | 'create_user_label_username' => 'Benutzername', 20 | 'create_user_ph_username' => 'Benutzername', 21 | 'create_user_icon_username' => 'fa-user', 22 | 23 | 'create_user_label_firstname' => 'Vorname', 24 | 'create_user_ph_firstname' => 'Vorname', 25 | 'create_user_icon_firstname' => 'fa-user', 26 | 27 | 'create_user_label_lastname' => 'Last Name', 28 | 'create_user_ph_lastname' => 'Last Name', 29 | 'create_user_icon_lastname' => 'fa-user', 30 | 31 | 'create_user_label_password' => 'Passwort', 32 | 'create_user_ph_password' => 'Passwort', 33 | 'create_user_icon_password' => 'fa-lock', 34 | 35 | 'create_user_label_pw_confirmation' => 'Passwort bestätigen', 36 | 'create_user_ph_pw_confirmation' => 'Passwort bestätigen', 37 | 'create_user_icon_pw_confirmation' => 'fa-lock', 38 | 39 | 'create_user_label_location' => 'Ort', 40 | 'create_user_ph_location' => 'Ort', 41 | 'create_user_icon_location' => 'fa-map-marker', 42 | 43 | 'create_user_label_bio' => 'Biographie', 44 | 'create_user_ph_bio' => 'Biographie', 45 | 'create_user_icon_bio' => 'fa-pencil', 46 | 47 | 'create_user_label_twitter_username' => 'Twitter Benutzername', 48 | 'create_user_ph_twitter_username' => 'Twitter Benutzername', 49 | 'create_user_icon_twitter_username' => 'fa-twitter', 50 | 51 | 'create_user_label_github_username' => 'GitHub Benutzername', 52 | 'create_user_ph_github_username' => 'GitHub Benutzername', 53 | 'create_user_icon_github_username' => 'fa-github', 54 | 55 | 'create_user_label_career_title' => 'Beruf', 56 | 'create_user_ph_career_title' => 'Beruf', 57 | 'create_user_icon_career_title' => 'fa-briefcase', 58 | 59 | 'create_user_label_education' => 'Schulabschluß', 60 | 'create_user_ph_education' => 'Schulabschluß', 61 | 'create_user_icon_education' => 'fa-graduation-cap', 62 | 63 | 'create_user_label_role' => 'Benutzerrolle', 64 | 'create_user_ph_role' => 'Benutzerrolle auswählen', 65 | 'create_user_icon_role' => 'fas fa-fw fas fa-shield-alt', 66 | 67 | 'create_user_button_text' => ' Neuen Benutzer anlegen', 68 | 69 | // EDIT USER AS ADMINISTRATOR FORM 70 | 'edit-user-admin-title' => 'Benutzer bearbeiten', 71 | 72 | 'label-username' => 'Benutzername', 73 | 'ph-username' => 'Benutzername', 74 | 75 | 'label-useremail' => 'E-Mail', 76 | 'ph-useremail' => 'E-Mail', 77 | 78 | 'label-userrole_id' => 'Zugriffstufe', 79 | 'option-label' => 'Stufe auswählen', 80 | 'option-user' => 'User', 81 | 'option-editor' => 'Editor', 82 | 'option-admin' => 'Administrator', 83 | 'submit-btn-text' => 'Benutzer bearbeiten!', 84 | 85 | 'submit-btn-icon' => 'fa-save', 86 | 'username-icon' => 'fa-user', 87 | 'useremail-icon' => 'fa-envelope-o', 88 | 89 | 'change-pw' => 'Passwort ändern', 90 | 'cancel' => 'Abbruch', 91 | 'save-changes' => ' Änderungen speichern', 92 | 93 | // Search Users Form 94 | 'search-users-ph' => 'Benutzer durchsuchen', 95 | 96 | ]; 97 | -------------------------------------------------------------------------------- /src/resources/lang/en/forms.php: -------------------------------------------------------------------------------- 1 | 'User Email', 16 | 'create_user_ph_email' => 'User Email', 17 | 'create_user_icon_email' => 'fa-envelope', 18 | 19 | 'create_user_label_username' => 'Username', 20 | 'create_user_ph_username' => 'Username', 21 | 'create_user_icon_username' => 'fa-user', 22 | 23 | 'create_user_label_firstname' => 'First Name', 24 | 'create_user_ph_firstname' => 'First Name', 25 | 'create_user_icon_firstname' => 'fa-user', 26 | 27 | 'create_user_label_lastname' => 'Last Name', 28 | 'create_user_ph_lastname' => 'Last Name', 29 | 'create_user_icon_lastname' => 'fa-user', 30 | 31 | 'create_user_label_password' => 'Password', 32 | 'create_user_ph_password' => 'Password', 33 | 'create_user_icon_password' => 'fa-lock', 34 | 35 | 'create_user_label_pw_confirmation' => 'Confirm Password', 36 | 'create_user_ph_pw_confirmation' => 'Confirm Password', 37 | 'create_user_icon_pw_confirmation' => 'fa-lock', 38 | 39 | 'create_user_label_location' => 'User Location', 40 | 'create_user_ph_location' => 'User Location', 41 | 'create_user_icon_location' => 'fa-map-marker', 42 | 43 | 'create_user_label_bio' => 'User Bio', 44 | 'create_user_ph_bio' => 'User Bio', 45 | 'create_user_icon_bio' => 'fa-pencil', 46 | 47 | 'create_user_label_twitter_username' => 'User Twitter Username', 48 | 'create_user_ph_twitter_username' => 'User Twitter Username', 49 | 'create_user_icon_twitter_username' => 'fa-twitter', 50 | 51 | 'create_user_label_github_username' => 'User GitHub Username', 52 | 'create_user_ph_github_username' => 'User GitHub Username', 53 | 'create_user_icon_github_username' => 'fa-github', 54 | 55 | 'create_user_label_career_title' => 'User Occupation', 56 | 'create_user_ph_career_title' => 'User Occupation', 57 | 'create_user_icon_career_title' => 'fa-briefcase', 58 | 59 | 'create_user_label_education' => 'User Education', 60 | 'create_user_ph_education' => 'User Education', 61 | 'create_user_icon_education' => 'fa-graduation-cap', 62 | 63 | 'create_user_label_role' => 'User Role', 64 | 'create_user_ph_role' => 'Select User Role', 65 | 'create_user_icon_role' => 'fas fa-fw fas fa-shield-alt', 66 | 67 | 'create_user_button_text' => ' Create New User', 68 | 69 | // EDIT USER AS ADMINISTRATOR FORM 70 | 'edit-user-admin-title' => 'Edit User Information', 71 | 72 | 'label-username' => 'Username', 73 | 'ph-username' => 'Username', 74 | 75 | 'label-useremail' => 'User Email', 76 | 'ph-useremail' => 'User Email', 77 | 78 | 'label-userrole_id' => 'User Access Level', 79 | 'option-label' => 'Select a Level', 80 | 'option-user' => 'User', 81 | 'option-editor' => 'Editor', 82 | 'option-admin' => 'Administrator', 83 | 'submit-btn-text' => 'Edit the User!', 84 | 85 | 'submit-btn-icon' => 'fa-save', 86 | 'username-icon' => 'fa-user', 87 | 'useremail-icon' => 'fa-envelope-o', 88 | 89 | 'change-pw' => 'Change Password', 90 | 'cancel' => 'Cancel', 91 | 'save-changes' => ' Save Changes', 92 | 93 | // Search Users Form 94 | 'search-users-ph' => 'Search Users', 95 | 96 | ]; 97 | -------------------------------------------------------------------------------- /src/resources/lang/ar/forms.php: -------------------------------------------------------------------------------- 1 | 'البريد الإليكتروني', 16 | 'create_user_ph_email' => 'البريد الإليكتروني', 17 | 'create_user_icon_email' => 'fa-envelope', 18 | 19 | 'create_user_label_username' => 'اسم المستخدم', 20 | 'create_user_ph_username' => 'اسم المستخدم', 21 | 'create_user_icon_username' => 'fa-user', 22 | 23 | 'create_user_label_firstname' => 'الاسم الأول', 24 | 'create_user_ph_firstname' => 'الاسم الأول', 25 | 'create_user_icon_firstname' => 'fa-user', 26 | 27 | 'create_user_label_lastname' => 'الاسم الأخير', 28 | 'create_user_ph_lastname' => 'الاسم الأخير', 29 | 'create_user_icon_lastname' => 'fa-user', 30 | 31 | 'create_user_label_password' => 'كلمة المرور', 32 | 'create_user_ph_password' => 'كلمة المرور', 33 | 'create_user_icon_password' => 'fa-lock', 34 | 35 | 'create_user_label_pw_confirmation' => 'تأكيد كلمة المرور', 36 | 'create_user_ph_pw_confirmation' => 'تأكيد كلمة المرور', 37 | 'create_user_icon_pw_confirmation' => 'fa-lock', 38 | 39 | 'create_user_label_location' => 'مكان المستخدم', 40 | 'create_user_ph_location' => 'مكان المستخدم', 41 | 'create_user_icon_location' => 'fa-map-marker', 42 | 43 | 'create_user_label_bio' => 'نبذة عن المستخدم', 44 | 'create_user_ph_bio' => 'نبذة عن المستخدم', 45 | 'create_user_icon_bio' => 'fa-pencil', 46 | 47 | 'create_user_label_twitter_username' => 'حساب Twitter', 48 | 'create_user_ph_twitter_username' => 'حساب Twitter', 49 | 'create_user_icon_twitter_username' => 'fa-twitter', 50 | 51 | 'create_user_label_github_username' => 'حساب GitHub', 52 | 'create_user_ph_github_username' => 'حساب GitHub', 53 | 'create_user_icon_github_username' => 'fa-github', 54 | 55 | 'create_user_label_career_title' => 'يعمل لدي', 56 | 'create_user_ph_career_title' => 'يعمل لدي', 57 | 'create_user_icon_career_title' => 'fa-briefcase', 58 | 59 | 'create_user_label_education' => 'المؤهل الدراسي', 60 | 'create_user_ph_education' => 'المؤهل الدراسي', 61 | 'create_user_icon_education' => 'fa-graduation-cap', 62 | 63 | 'create_user_label_role' => 'دور المستخدم', 64 | 'create_user_ph_role' => 'اختر دور المستخدم', 65 | 'create_user_icon_role' => 'fas fa-fw fas fa-shield-alt', 66 | 67 | 'create_user_button_text' => ' اضافة مستخدم جديد', 68 | 69 | // EDIT USER AS ADMINISTRATOR FORM 70 | 'edit-user-admin-title' => 'تعديل بيانات المستخدم', 71 | 72 | 'label-username' => 'اسم المستخدم', 73 | 'ph-username' => 'اسم المستخدم', 74 | 75 | 'label-useremail' => 'البريد الإليكتروني', 76 | 'ph-useremail' => 'البريد الإليكتروني', 77 | 78 | 'label-userrole_id' => 'مستوي صلاحيات المستخدم', 79 | 'option-label' => 'اختر مستوي', 80 | 'option-user' => 'مستخدم', 81 | 'option-editor' => 'محرر', 82 | 'option-admin' => 'مدير', 83 | 'submit-btn-text' => 'تعديل المستخدم', 84 | 85 | 'submit-btn-icon' => 'fa-save', 86 | 'username-icon' => 'fa-user', 87 | 'useremail-icon' => 'fa-envelope-o', 88 | 89 | 'change-pw' => 'تغيير كلمة المرور', 90 | 'cancel' => 'الغاء', 91 | 'save-changes' => ' حفظ التغييرات', 92 | 93 | // Search Users Form 94 | 'search-users-ph' => 'البحث عن المستخدمين', 95 | 96 | ]; 97 | -------------------------------------------------------------------------------- /src/resources/lang/pt-br/forms.php: -------------------------------------------------------------------------------- 1 | 'Email do usuário', 16 | 'create_user_ph_email' => 'Email do usuário', 17 | 'create_user_icon_email' => 'fa-envelope', 18 | 19 | 'create_user_label_username' => 'Apelido', 20 | 'create_user_ph_username' => 'Apelido', 21 | 'create_user_icon_username' => 'fa-user', 22 | 23 | 'create_user_label_firstname' => 'Nome', 24 | 'create_user_ph_firstname' => 'Nome', 25 | 'create_user_icon_firstname' => 'fa-user', 26 | 27 | 'create_user_label_lastname' => 'Sobrenome', 28 | 'create_user_ph_lastname' => 'Sobrenome', 29 | 'create_user_icon_lastname' => 'fa-user', 30 | 31 | 'create_user_label_password' => 'Senha', 32 | 'create_user_ph_password' => 'Senha', 33 | 'create_user_icon_password' => 'fa-lock', 34 | 35 | 'create_user_label_pw_confirmation' => 'Confirmação de Senha', 36 | 'create_user_ph_pw_confirmation' => 'Confirmação de Senha', 37 | 'create_user_icon_pw_confirmation' => 'fa-lock', 38 | 39 | 'create_user_label_location' => 'Localização do Usuário', 40 | 'create_user_ph_location' => 'Localização do Usuário', 41 | 'create_user_icon_location' => 'fa-map-marker', 42 | 43 | 'create_user_label_bio' => 'Informações do Usuário', 44 | 'create_user_ph_bio' => 'Informações do Usuário', 45 | 'create_user_icon_bio' => 'fa-pencil', 46 | 47 | 'create_user_label_twitter_username' => 'Usuário do Twitter ', 48 | 'create_user_ph_twitter_username' => 'Usuário do Twitter ', 49 | 'create_user_icon_twitter_username' => 'fa-twitter', 50 | 51 | 'create_user_label_github_username' => 'Usuário do GitHub ', 52 | 'create_user_ph_github_username' => 'Usuário do GitHub ', 53 | 'create_user_icon_github_username' => 'fa-github', 54 | 55 | 'create_user_label_career_title' => 'Ocupação', 56 | 'create_user_ph_career_title' => 'Ocupação', 57 | 'create_user_icon_career_title' => 'fa-briefcase', 58 | 59 | 'create_user_label_education' => 'Educação', 60 | 'create_user_ph_education' => 'Educação', 61 | 'create_user_icon_education' => 'fa-graduation-cap', 62 | 63 | 'create_user_label_role' => 'Nível de Acesso do Usuário', 64 | 'create_user_ph_role' => 'Selecionar Nível de Acesso do Usuário', 65 | 'create_user_icon_role' => 'fas fa-fw fas fa-shield-alt', 66 | 67 | 'create_user_button_text' => ' Criar Novo Usuário', 68 | 69 | // EDIT USER AS ADMINISTRATOR FORM 70 | 'edit-user-admin-title' => 'Editar Informações do Usuário', 71 | 72 | 'label-username' => 'Apelido', 73 | 'ph-username' => 'Apelido', 74 | 75 | 'label-useremail' => 'Email do usuário', 76 | 'ph-useremail' => 'Email do usuário', 77 | 78 | 'label-userrole_id' => 'Nível de Acesso do Usuário', 79 | 'option-label' => 'Selecionar Nível do Usuário', 80 | 'option-user' => 'Usuário', 81 | 'option-editor' => 'Editor', 82 | 'option-admin' => 'Administrador', 83 | 'submit-btn-text' => 'Editar o Usuário!', 84 | 85 | 'submit-btn-icon' => 'fa-save', 86 | 'username-icon' => 'fa-user', 87 | 'useremail-icon' => 'fa-envelope-o', 88 | 89 | 'change-pw' => 'Mudar Senha', 90 | 'cancel' => 'Cancelar', 91 | 'save-changes' => ' Salvar Mudanças', 92 | 93 | // Search Users Form 94 | 'search-users-ph' => 'Procurar Usuários', 95 | 96 | ]; 97 | -------------------------------------------------------------------------------- /src/resources/lang/nl/forms.php: -------------------------------------------------------------------------------- 1 | 'Email', 16 | 'create_user_ph_email' => 'Email', 17 | 'create_user_icon_email' => 'fa-envelope', 18 | 19 | 'create_user_label_username' => 'Gebruikersnaam', 20 | 'create_user_ph_username' => 'Gebruikersnaam', 21 | 'create_user_icon_username' => 'fa-user', 22 | 23 | 'create_user_label_firstname' => 'Voornaam', 24 | 'create_user_ph_firstname' => 'Voornaam', 25 | 'create_user_icon_firstname' => 'fa-user', 26 | 27 | 'create_user_label_lastname' => 'Achternaam', 28 | 'create_user_ph_lastname' => 'Achternaam', 29 | 'create_user_icon_lastname' => 'fa-user', 30 | 31 | 'create_user_label_password' => 'Wachtwoord', 32 | 'create_user_ph_password' => 'Wachtwoord', 33 | 'create_user_icon_password' => 'fa-lock', 34 | 35 | 'create_user_label_pw_confirmation' => 'Wachtwoord Bevestigen', 36 | 'create_user_ph_pw_confirmation' => 'Wachtwoord Bevestigen', 37 | 'create_user_icon_pw_confirmation' => 'fa-lock', 38 | 39 | 'create_user_label_location' => 'Gebruiker Locatie', 40 | 'create_user_ph_location' => 'Gebruiker Locatie', 41 | 'create_user_icon_location' => 'fa-map-marker', 42 | 43 | 'create_user_label_bio' => 'Gebruikersprofiel', 44 | 'create_user_ph_bio' => 'Gebruikersprofiel', 45 | 'create_user_icon_bio' => 'fa-pencil', 46 | 47 | 'create_user_label_twitter_username' => 'Twitter Gebruikersnaam', 48 | 'create_user_ph_twitter_username' => 'Twitter Gebruikersnaam', 49 | 'create_user_icon_twitter_username' => 'fa-twitter', 50 | 51 | 'create_user_label_github_username' => 'GitHub Gebruikersnaam', 52 | 'create_user_ph_github_username' => 'GitHub Gebruikersnaam', 53 | 'create_user_icon_github_username' => 'fa-github', 54 | 55 | 'create_user_label_career_title' => 'Gebruiker Beroep', 56 | 'create_user_ph_career_title' => 'Gebruiker Beroep', 57 | 'create_user_icon_career_title' => 'fa-briefcase', 58 | 59 | 'create_user_label_education' => 'Gebruiker Opleiding', 60 | 'create_user_ph_education' => 'Gebruiker Opleiding', 61 | 'create_user_icon_education' => 'fa-graduation-cap', 62 | 63 | 'create_user_label_role' => 'Gebruikersrol', 64 | 'create_user_ph_role' => 'Selecteer Gebruikersrol', 65 | 'create_user_icon_role' => 'fas fa-fw fas fa-shield-alt', 66 | 67 | 'create_user_button_text' => ' Nieuwe Gebruiker Aanmaken', 68 | 69 | // EDIT USER AS ADMINISTRATOR FORM 70 | 'edit-user-admin-title' => 'Gebruikersinfo Wijzigen', 71 | 72 | 'label-username' => 'Gebruikersnaam', 73 | 'ph-username' => 'Gebruikersnaam', 74 | 75 | 'label-useremail' => 'Email', 76 | 'ph-useremail' => 'Email', 77 | 78 | 'label-userrole_id' => 'Gebruiker Toegangsniveau', 79 | 'option-label' => 'Selecteer een Niveau', 80 | 'option-user' => 'Gebruiker', 81 | 'option-editor' => 'Schrijver', 82 | 'option-admin' => 'Beheerder', 83 | 'submit-btn-text' => 'Wijzig de Gebruiker!', 84 | 85 | 'submit-btn-icon' => 'fa-save', 86 | 'username-icon' => 'fa-user', 87 | 'useremail-icon' => 'fa-envelope-o', 88 | 89 | 'change-pw' => 'Wachtwoord Wijzigen', 90 | 'cancel' => 'Annuleren', 91 | 'save-changes' => ' Wijzigingen Opslaan', 92 | 93 | // Search Users Form 94 | 'search-users-ph' => 'Gebruikers Zoeken', 95 | 96 | ]; 97 | -------------------------------------------------------------------------------- /src/resources/lang/ar/laravelusers.php: -------------------------------------------------------------------------------- 1 | 'عرض جميع المستخدمين', 12 | 'users-menu-alt' => 'عرض قائمة ادارة المستخدمين', 13 | 'create-new-user' => 'اضافة مستخدم جديد', 14 | 'show-deleted-users' => 'عرض المستخدمين المحذوفين', 15 | 'editing-user' => 'تعديل المستخدم :name', 16 | 'showing-user' => 'عرض المستخدم :name', 17 | 'showing-user-title' => 'بيانات المستخدم :name', 18 | 19 | 'users-table' => [ 20 | 'caption' => '{1} :userscount مستخدم وجد|[2,*] :userscount اجمالي المستخدمين', 21 | 'id' => 'الكود', 22 | 'name' => 'الاسم', 23 | 'email' => 'البريد الإليكتروني', 24 | 'role' => 'الدور', 25 | 'created' => 'تاريخ الاضافة', 26 | 'updated' => 'تاريخ التعديل', 27 | 'actions' => 'اجراءات', 28 | 'updated' => 'تاريخ التعديل', 29 | ], 30 | 31 | 'buttons' => [ 32 | 'create-new' => '', 33 | 'delete' => ' ', 34 | 'show' => ' ', 35 | 'edit' => ' ', 36 | 'back-to-users' => '', 37 | 'back-to-user' => 'المستخدم', 38 | 'delete-user' => ' ', 39 | 'edit-user' => ' ', 40 | ], 41 | 42 | 'tooltips' => [ 43 | 'delete' => 'حذف', 44 | 'show' => 'عرض', 45 | 'edit' => 'تعديل', 46 | 'create-new' => 'اضافة مستخدم جديد', 47 | 'back-user' => 'عرض المستخدم', 48 | 'back-users' => 'عرض المستخدمين', 49 | 'email-user' => 'مراسلة :user', 50 | 'submit-search' => 'القيام بالبحث', 51 | 'clear-search' => 'حذف نتائج البحث', 52 | ], 53 | 54 | 'messages' => [ 55 | 'userNameTaken' => 'اسم المستخدم غير متاح', 56 | 'userNameRequired' => 'اسم المستخدم مطلوب', 57 | 'fNameRequired' => 'الاسم الأول مطلوب', 58 | 'lNameRequired' => 'الاسم الأخير مطلوب', 59 | 'emailRequired' => 'البريد الإليكتروني مطلوب', 60 | 'emailInvalid' => 'البريد الإليكتروني غير صحيح', 61 | 'passwordRequired' => 'كلمة المرور مطلوبة', 62 | 'PasswordMin' => 'كلمة المرور لابد ان تكون 6 حروف علي الأقل', 63 | 'PasswordMax' => 'أقصي طول لكلمة المرور هو 20 حرف', 64 | 'captchaRequire' => 'كلمة التحقق مطلوبة', 65 | 'CaptchaWrong' => 'كلمة التحقق غير صحيحة، يرجي اعادة المحاولة.', 66 | 'roleRequired' => 'برجاء اختيار دور المستخدم', 67 | 'user-creation-success' => 'تمت اضافة المستخدم بنجاح!', 68 | 'update-user-success' => 'تم تعديل المستخدم بنجاح!', 69 | 'delete-success' => 'تم حذف المستخدم بنجاح!', 70 | 'cannot-delete-yourself' => 'لا يمكن حذف حسابك الشخصي بنفسك!', 71 | ], 72 | 73 | 'show-user' => [ 74 | 'id' => 'كود المستخدم', 75 | 'name' => 'اسم المستخدم', 76 | 'email' => 'البريد', 77 | 'role' => 'الدور', 78 | 'created' => 'اضيف ', 79 | 'updated' => 'عُدل ', 80 | 'labelRole' => 'الدور', 81 | 'labelAccessLevel' => 'صلاحيات|صلاحيات', 82 | ], 83 | 84 | 'search' => [ 85 | 'title' => 'عرض نتائج البحث', 86 | 'found-footer' => ' سجل وُجد', 87 | 'no-results' => 'لا يوجد سجلات مطابقة', 88 | ], 89 | ]; 90 | -------------------------------------------------------------------------------- /src/resources/lang/de/laravelusers.php: -------------------------------------------------------------------------------- 1 | 'Alle Benutzer', 12 | 'users-menu-alt' => 'Benutzerverwaltung anzeigen', 13 | 'create-new-user' => 'Neuen Benutzer anlegen', 14 | 'show-deleted-users' => 'Gelöschte Benutzer anzeigen', 15 | 'editing-user' => 'Bearbeite Benutzer :name', 16 | 'showing-user' => 'Zeige Nutzer :name', 17 | 'showing-user-title' => ':name\'s Information', 18 | 19 | 'users-table' => [ 20 | 'caption' => '{1} :userscount Benutzer insgesamt|[2,*] :userscount Benutzer insgesamt', 21 | 'id' => 'ID', 22 | 'name' => 'Name', 23 | 'email' => 'E-Mail', 24 | 'role' => 'Rolle', 25 | 'created' => 'Erstellt', 26 | 'updated' => 'Aktualisiert', 27 | 'actions' => 'Aktionen', 28 | ], 29 | 30 | 'buttons' => [ 31 | 'create-new' => '', 32 | 'delete' => ' ', 33 | 'show' => ' ', 34 | 'edit' => ' ', 35 | 'back-to-users' => '', 36 | 'back-to-user' => 'Zurück zum ', 37 | 'delete-user' => ' ', 38 | 'edit-user' => ' ', 39 | ], 40 | 41 | 'tooltips' => [ 42 | 'delete' => 'Löschen', 43 | 'show' => 'Anzeigen', 44 | 'edit' => 'Bearbeiten', 45 | 'create-new' => 'Neuen Benutzer anlegen', 46 | 'back-user' => 'Zurück zum Benutzer', 47 | 'back-users' => 'Zurück zur Benutzerliste', 48 | 'email-user' => 'E-Mail :user', 49 | 'submit-search' => 'Suchen', 50 | 'clear-search' => 'Suche zurücksetzen', 51 | ], 52 | 53 | 'messages' => [ 54 | 'userNameTaken' => 'Benutzername ist bereits vergeben', 55 | 'userNameRequired' => 'Benutzername ist ein Pflichtfeld', 56 | 'fNameRequired' => 'Vorname ist ein Pflichtfeld', 57 | 'lNameRequired' => 'Nachname ist ein Pflichtfeld', 58 | 'emailRequired' => 'E-Mail ist ein Pflichtfeld', 59 | 'emailInvalid' => 'E-Mail is invalid', 60 | 'passwordRequired' => 'Passwort ist ein Pflichtfeld', 61 | 'PasswordMin' => 'Das Passwort muss mindestens 6 Zeichen lang sein', 62 | 'PasswordMax' => 'Das Passwort darf maximal 20 Zeichen lang sein', 63 | 'captchaRequire' => 'Captcha ist ein Pflichtfeld', 64 | 'CaptchaWrong' => 'Captcha falsch, bitte noch einmal versuchen', 65 | 'roleRequired' => 'Benutzerrolle ist ein Pflichtfeld', 66 | 'user-creation-success' => 'Benutzer erfolgreich angelegt!', 67 | 'update-user-success' => 'Benutzer erfolgreich aktualisiert!', 68 | 'delete-success' => 'Benutzer erfolgreich gelöscht!', 69 | 'cannot-delete-yourself' => 'Du kannst dich nicht selbst löschen.', 70 | ], 71 | 72 | 'show-user' => [ 73 | 'id' => 'Benutzer ID', 74 | 'name' => 'Benutzername', 75 | 'email' => 'Email', 76 | 'role' => 'Benutzerrolle', 77 | 'created' => 'Angelegt ', 78 | 'updated' => 'Aktualisiert ', 79 | 'labelRole' => 'Benutzerrolle', 80 | 'labelAccessLevel' => ' Stufe| Stufe', 81 | ], 82 | 83 | 'search' => [ 84 | 'title' => 'Zeige Suchergebnisse', 85 | 'found-footer' => ' Treffer gefunden', 86 | 'no-results' => 'Keine Treffer', 87 | ], 88 | ]; 89 | -------------------------------------------------------------------------------- /src/resources/lang/en/laravelusers.php: -------------------------------------------------------------------------------- 1 | 'Showing All Users', 12 | 'users-menu-alt' => 'Show Users Management Menu', 13 | 'create-new-user' => 'Create New User', 14 | 'show-deleted-users' => 'Show Deleted User', 15 | 'editing-user' => 'Editing User :name', 16 | 'showing-user' => 'Showing User :name', 17 | 'showing-user-title' => ':name\'s Information', 18 | 19 | 'users-table' => [ 20 | 'caption' => '{1} :userscount user total|[2,*] :userscount total users', 21 | 'id' => 'ID', 22 | 'name' => 'Name', 23 | 'email' => 'Email', 24 | 'role' => 'Role', 25 | 'created' => 'Created', 26 | 'updated' => 'Updated', 27 | 'actions' => 'Actions', 28 | 'updated' => 'Updated', 29 | ], 30 | 31 | 'buttons' => [ 32 | 'create-new' => '', 33 | 'delete' => ' ', 34 | 'show' => ' ', 35 | 'edit' => ' ', 36 | 'back-to-users' => '', 37 | 'back-to-user' => 'Back ', 38 | 'delete-user' => ' ', 39 | 'edit-user' => ' ', 40 | ], 41 | 42 | 'tooltips' => [ 43 | 'delete' => 'Delete', 44 | 'show' => 'Show', 45 | 'edit' => 'Edit', 46 | 'create-new' => 'Create New User', 47 | 'back-user' => 'Back to user', 48 | 'back-users' => 'Back to users', 49 | 'email-user' => 'Email :user', 50 | 'submit-search' => 'Submit Users Search', 51 | 'clear-search' => 'Clear Search Results', 52 | ], 53 | 54 | 'messages' => [ 55 | 'userNameTaken' => 'Username is taken', 56 | 'userNameRequired' => 'Username is required', 57 | 'userNameInvalid' => 'Username is invalid', 58 | 'fNameRequired' => 'First Name is required', 59 | 'lNameRequired' => 'Last Name is required', 60 | 'emailRequired' => 'Email is required', 61 | 'emailInvalid' => 'Email is invalid', 62 | 'passwordRequired' => 'Password is required', 63 | 'PasswordMin' => 'Password needs to have at least 6 characters', 64 | 'PasswordMax' => 'Password maximum length is 20 characters', 65 | 'captchaRequire' => 'Captcha is required', 66 | 'CaptchaWrong' => 'Wrong captcha, please try again.', 67 | 'roleRequired' => 'User role is required.', 68 | 'user-creation-success' => 'Successfully created user!', 69 | 'update-user-success' => 'Successfully updated user!', 70 | 'delete-success' => 'Successfully deleted the user!', 71 | 'cannot-delete-yourself' => 'You cannot delete yourself!', 72 | ], 73 | 74 | 'show-user' => [ 75 | 'id' => 'User ID', 76 | 'name' => 'Username', 77 | 'email' => 'Email', 78 | 'role' => 'User Role', 79 | 'created' => 'Created ', 80 | 'updated' => 'Updated ', 81 | 'labelRole' => 'User Role', 82 | 'labelAccessLevel' => ' Access Level| Access Levels', 83 | ], 84 | 85 | 'search' => [ 86 | 'title' => 'Showing Search Results', 87 | 'found-footer' => ' Record(s) found', 88 | 'no-results' => 'No Results', 89 | ], 90 | ]; 91 | -------------------------------------------------------------------------------- /src/resources/lang/pt-br/laravelusers.php: -------------------------------------------------------------------------------- 1 | 'Mostrar Todos os Usuários', 12 | 'users-menu-alt' => 'Show Users Management Menu', 13 | 'create-new-user' => 'Criar Novo Usuário', 14 | 'show-deleted-users' => 'Mostrar Usuários Deletados', 15 | 'editing-user' => 'Editar Usuário :name', 16 | 'showing-user' => 'Mostrar Usuáriod :name', 17 | 'showing-user-title' => ':name\'s Informação', 18 | 19 | 'users-table' => [ 20 | 'caption' => '{1} :userscount user total|[2,*] :userscount Total de Usuários', 21 | 'id' => 'ID', 22 | 'name' => 'Nome', 23 | 'email' => 'Email', 24 | 'role' => 'Nivel', 25 | 'created' => 'Criando em:', 26 | 'updated' => 'Atualizado em:', 27 | 'actions' => 'Acões', 28 | 'updated' => 'Atualizado em:', 29 | ], 30 | 31 | 'buttons' => [ 32 | 'create-new' => '', 33 | 'delete' => ' ', 34 | 'show' => ' ', 35 | 'edit' => ' ', 36 | 'back-to-users' => '', 37 | 'back-to-user' => 'Back ', 38 | 'delete-user' => ' ', 39 | 'edit-user' => ' ', 40 | ], 41 | 42 | 'tooltips' => [ 43 | 'delete' => 'Deletar', 44 | 'show' => 'Mostrar', 45 | 'edit' => 'Editar', 46 | 'create-new' => 'Criar Novo Usuário', 47 | 'back-user' => 'Voltar para Usuário', 48 | 'back-users' => 'Voltar para Usuários', 49 | 'email-user' => 'Email :user', 50 | 'submit-search' => 'Buscar Usuários', 51 | 'clear-search' => 'Limpar Resultados', 52 | ], 53 | 54 | 'messages' => [ 55 | 'userNameTaken' => 'Apelido já existe', 56 | 'userNameRequired' => 'Username é Obrigatório', 57 | 'fNameRequired' => 'Nome é Obrigatório ', 58 | 'lNameRequired' => 'Sobrenome é Obrigatório', 59 | 'emailRequired' => 'Email é Obrigatório', 60 | 'emailInvalid' => 'Email é inválido', 61 | 'passwordRequired' => 'Senha é Obrigatório', 62 | 'PasswordMin' => 'Senha com no minímo 6 caracteres', 63 | 'PasswordMax' => 'Senha com tamanho maxímo de 20 caracteres', 64 | 'captchaRequire' => 'Captcha é Obrigatório', 65 | 'CaptchaWrong' => 'Captcha inválido, Por favor tente novamente.', 66 | 'roleRequired' => 'Nível de Usuário é Obrigatório.', 67 | 'user-creation-success' => 'Sucesso usuário criado created user!', 68 | 'update-user-success' => 'Sucesso usuário atualizado!', 69 | 'delete-success' => 'Sucesso usuário deletado !', 70 | 'cannot-delete-yourself' => 'Você não pode se apagar!', 71 | ], 72 | 73 | 'show-user' => [ 74 | 'id' => 'User ID', 75 | 'name' => 'Username', 76 | 'email' => 'Email', 77 | 'role' => 'Nível de Acesso', 78 | 'created' => 'Criado ', 79 | 'updated' => 'Atualizado ', 80 | 'labelRole' => 'Tipo de Usuário', 81 | 'labelAccessLevel' => ' Nível de Acesso| Níveis de Acesso', 82 | ], 83 | 84 | 'search' => [ 85 | 'title' => 'Mostrar Resultados da Pesquisa', 86 | 'found-footer' => ' Registro(s) encontrado(s)', 87 | 'no-results' => 'Não a Resultados', 88 | ], 89 | ]; 90 | -------------------------------------------------------------------------------- /src/resources/lang/nl/laravelusers.php: -------------------------------------------------------------------------------- 1 | 'Toon Alle Gebruikers', 12 | 'users-menu-alt' => 'Toon Gebruikersbeheer Menu', 13 | 'create-new-user' => 'Nieuwe Gebruiker Aanmaken', 14 | 'show-deleted-users' => 'Toon Verwijderde Gebuikers', 15 | 'editing-user' => 'Wijzigen Gebruiker :name', 16 | 'showing-user' => 'Tonen Gebruiker :name', 17 | 'showing-user-title' => ':name\'s Informatie', 18 | 19 | 'users-table' => [ 20 | 'caption' => '{1} :userscount gebruiker in totaal|[2,*] :userscount gebruikers in totaal', 21 | 'id' => 'ID', 22 | 'name' => 'Naam', 23 | 'email' => 'Email', 24 | 'role' => 'Rol', 25 | 'created' => 'Aangemaakt', 26 | 'updated' => 'Gewijzigd', 27 | 'actions' => 'Acties', 28 | 'updated' => 'Gewijzigd', 29 | ], 30 | 31 | 'buttons' => [ 32 | 'create-new' => '', 33 | 'delete' => ' ', 34 | 'show' => ' ', 35 | 'edit' => ' ', 36 | 'back-to-users' => '', 37 | 'back-to-user' => 'Terug ', 38 | 'delete-user' => ' ', 39 | 'edit-user' => ' ', 40 | ], 41 | 42 | 'tooltips' => [ 43 | 'delete' => 'Verwijderen', 44 | 'show' => 'Tonen', 45 | 'edit' => 'Wijzigen', 46 | 'create-new' => 'Nieuwe Gebruiker Aanmaken', 47 | 'back-user' => 'Terug naar Gebruiker', 48 | 'back-users' => 'Terug naar Gebruikers', 49 | 'email-user' => 'Email :user', 50 | 'submit-search' => 'Zoekterm Toepassen', 51 | 'clear-search' => 'Zoekresultaten Wissen', 52 | ], 53 | 54 | 'messages' => [ 55 | 'userNameTaken' => 'Gebruikersnaam is in gebruik', 56 | 'userNameRequired' => 'Gebruikersnaam is verplicht', 57 | 'fNameRequired' => 'Voornaam is verplicht', 58 | 'lNameRequired' => 'Achternaam is verplicht', 59 | 'emailRequired' => 'Email is verplicht', 60 | 'emailInvalid' => 'Email is onjuist', 61 | 'passwordRequired' => 'Wachtwoord is verplicht', 62 | 'PasswordMin' => 'Wachtwoord moet uit ten minste 6 tekens bestaan', 63 | 'PasswordMax' => 'Wachtwoord mag niet langer dan 20 tekens zijn', 64 | 'captchaRequire' => 'Captcha is verplicht', 65 | 'CaptchaWrong' => 'Foute captcha, probeer het opnieuw.', 66 | 'roleRequired' => 'Gebruikersrol is verplicht.', 67 | 'user-creation-success' => 'Gebruiker succesvol aangemaakt!', 68 | 'update-user-success' => 'Gebruiker succesvol gewijzigd!', 69 | 'delete-success' => 'Gebruiker succesvol verwijderd!', 70 | 'cannot-delete-yourself' => 'U kunt uw eigen gebruiker niet verwijderen!', 71 | ], 72 | 73 | 'show-user' => [ 74 | 'id' => 'Gebruiker ID', 75 | 'name' => 'Gebruikersnaam', 76 | 'email' => 'Email', 77 | 'role' => 'Gebruikersrol', 78 | 'created' => 'Aangemaakt ', 79 | 'updated' => 'Gewijzigd ', 80 | 'labelRole' => 'Gebruikersrol', 81 | 'labelAccessLevel' => 'Toegangsniveau|Toegangsniveaus', 82 | ], 83 | 84 | 'search' => [ 85 | 'title' => 'Tonen Zoekresultaten', 86 | 'found-footer' => ' Item(s) gevonden', 87 | 'no-results' => 'Geen Resultaten', 88 | ], 89 | ]; 90 | -------------------------------------------------------------------------------- /src/resources/views/layouts/app.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | {{-- CSRF Token --}} 9 | 10 | 11 | @if (trim($__env->yieldContent('template_title')))@yield('template_title') | @endif {{ config('app.name', 'Laravel') }} 12 | 13 | {{-- Styles --}} 14 | @if(config('laravelusers.enableBootstrapCssCdn')) 15 | 16 | @endif 17 | @if(config('laravelusers.enableAppCss')) 18 | 19 | @endif 20 | 21 | @yield('template_linked_css') 22 | 23 | {{-- Scripts --}} 24 | 29 | 30 | 31 |
32 | 76 | 77 |
78 | @yield('content') 79 |
80 |
81 | 82 | {{-- Scripts --}} 83 | @if(config('laravelusers.enablejQueryCdn')) 84 | 85 | @endif 86 | @if(config('laravelusers.enableBootstrapPopperJsCdn')) 87 | 88 | @endif 89 | @if(config('laravelusers.enableBootstrapJsCdn')) 90 | 91 | @endif 92 | @if(config('laravelusers.enableAppJs')) 93 | 94 | @endif 95 | @include('laravelusers::scripts.toggleText') 96 | 97 | @yield('template_scripts') 98 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /src/resources/views/partials/bs-visibility-css.blade.php: -------------------------------------------------------------------------------- 1 | 210 | -------------------------------------------------------------------------------- /src/resources/views/scripts/search-users.blade.php: -------------------------------------------------------------------------------- 1 | 113 | -------------------------------------------------------------------------------- /src/App/Http/Controllers/UsersManagementController.php: -------------------------------------------------------------------------------- 1 | _authEnabled = config('laravelusers.authEnabled'); 27 | $this->_rolesEnabled = config('laravelusers.rolesEnabled'); 28 | $this->_rolesMiddlware = config('laravelusers.rolesMiddlware'); 29 | $this->_rolesMiddleWareEnabled = config('laravelusers.rolesMiddlwareEnabled'); 30 | 31 | if ($this->_authEnabled) { 32 | $this->middleware('auth'); 33 | } 34 | 35 | if ($this->_rolesEnabled && $this->_rolesMiddleWareEnabled) { 36 | $this->middleware($this->_rolesMiddlware); 37 | } 38 | } 39 | 40 | /** 41 | * Display a listing of the resource. 42 | * 43 | * @return \Illuminate\Http\Response 44 | */ 45 | public function index() 46 | { 47 | $pagintaionEnabled = config('laravelusers.enablePagination'); 48 | 49 | if ($pagintaionEnabled) { 50 | $users = config('laravelusers.defaultUserModel')::paginate(config('laravelusers.paginateListSize')); 51 | } else { 52 | $users = config('laravelusers.defaultUserModel')::all(); 53 | } 54 | 55 | $data = [ 56 | 'users' => $users, 57 | 'pagintaionEnabled' => $pagintaionEnabled, 58 | ]; 59 | 60 | return view(config('laravelusers.showUsersBlade'), $data); 61 | } 62 | 63 | /** 64 | * Show the form for creating a new resource. 65 | * 66 | * @return \Illuminate\Http\Response 67 | */ 68 | public function create() 69 | { 70 | $roles = []; 71 | 72 | if ($this->_rolesEnabled) { 73 | $roles = config('laravelusers.roleModel')::all(); 74 | } 75 | 76 | $data = [ 77 | 'rolesEnabled' => $this->_rolesEnabled, 78 | 'roles' => $roles, 79 | ]; 80 | 81 | return view(config('laravelusers.createUserBlade'))->with($data); 82 | } 83 | 84 | /** 85 | * Store a newly created resource in storage. 86 | * 87 | * @param \Illuminate\Http\Request $request 88 | * 89 | * @return \Illuminate\Http\Response 90 | */ 91 | public function store(Request $request) 92 | { 93 | $rules = [ 94 | 'name' => 'required|string|max:255|unique:users|alpha_dash', 95 | 'email' => 'required|email|max:255|unique:users', 96 | 'password' => 'required|string|confirmed|min:6', 97 | 'password_confirmation' => 'required|string|same:password', 98 | ]; 99 | 100 | if ($this->_rolesEnabled) { 101 | $rules['role'] = 'required'; 102 | } 103 | 104 | $messages = [ 105 | 'name.unique' => trans('laravelusers::laravelusers.messages.userNameTaken'), 106 | 'name.required' => trans('laravelusers::laravelusers.messages.userNameRequired'), 107 | 'name' => trans('laravelusers::laravelusers.messages.userNameInvalid'), 108 | 'email.required' => trans('laravelusers::laravelusers.messages.emailRequired'), 109 | 'email.email' => trans('laravelusers::laravelusers.messages.emailInvalid'), 110 | 'password.required' => trans('laravelusers::laravelusers.messages.passwordRequired'), 111 | 'password.min' => trans('laravelusers::laravelusers.messages.PasswordMin'), 112 | 'password.max' => trans('laravelusers::laravelusers.messages.PasswordMax'), 113 | 'role.required' => trans('laravelusers::laravelusers.messages.roleRequired'), 114 | ]; 115 | 116 | $validator = Validator::make($request->all(), $rules, $messages); 117 | 118 | if ($validator->fails()) { 119 | return back()->withErrors($validator)->withInput(); 120 | } 121 | 122 | $user = config('laravelusers.defaultUserModel')::create([ 123 | 'name' => strip_tags($request->input('name')), 124 | 'email' => $request->input('email'), 125 | 'password' => Hash::make($request->input('password')), 126 | ]); 127 | 128 | if ($this->_rolesEnabled) { 129 | $user->attachRole($request->input('role')); 130 | $user->save(); 131 | } 132 | 133 | return redirect('users')->with('success', trans('laravelusers::laravelusers.messages.user-creation-success')); 134 | } 135 | 136 | /** 137 | * Display the specified resource. 138 | * 139 | * @param int $id 140 | * 141 | * @return \Illuminate\Http\Response 142 | */ 143 | public function show($id) 144 | { 145 | $user = config('laravelusers.defaultUserModel')::find($id); 146 | 147 | return view(config('laravelusers.showIndividualUserBlade'))->withUser($user); 148 | } 149 | 150 | /** 151 | * Show the form for editing the specified resource. 152 | * 153 | * @param int $id 154 | * 155 | * @return \Illuminate\Http\Response 156 | */ 157 | public function edit($id) 158 | { 159 | $user = config('laravelusers.defaultUserModel')::findOrFail($id); 160 | $roles = []; 161 | $currentRole = []; 162 | 163 | if ($this->_rolesEnabled) { 164 | $roles = config('laravelusers.roleModel')::all(); 165 | 166 | foreach ($user->roles as $user_role) { 167 | $currentRole[] = $user_role->id; 168 | } 169 | } 170 | 171 | $data = [ 172 | 'user' => $user, 173 | 'rolesEnabled' => $this->_rolesEnabled, 174 | ]; 175 | 176 | if ($this->_rolesEnabled) { 177 | $data['roles'] = $roles; 178 | $data['currentRole'] = $currentRole; 179 | } 180 | 181 | return view(config('laravelusers.editIndividualUserBlade'))->with($data); 182 | } 183 | 184 | /** 185 | * Update the specified resource in storage. 186 | * 187 | * @param \Illuminate\Http\Request $request 188 | * @param int $id 189 | * 190 | * @return \Illuminate\Http\Response 191 | */ 192 | public function update(Request $request, $id) 193 | { 194 | $user = config('laravelusers.defaultUserModel')::find($id); 195 | $emailCheck = ($request->input('email') != '') && ($request->input('email') != $user->email); 196 | $passwordCheck = $request->input('password') != null; 197 | 198 | $rules = [ 199 | 'name' => 'required|max:255', 200 | ]; 201 | 202 | if ($emailCheck) { 203 | $rules['email'] = 'required|email|max:255|unique:users'; 204 | } 205 | 206 | if ($passwordCheck) { 207 | $rules['password'] = 'required|string|min:6|max:20|confirmed'; 208 | $rules['password_confirmation'] = 'required|string|same:password'; 209 | } 210 | 211 | if ($this->_rolesEnabled) { 212 | $rules['role'] = 'required'; 213 | } 214 | 215 | $validator = Validator::make($request->all(), $rules); 216 | 217 | if ($validator->fails()) { 218 | return back()->withErrors($validator)->withInput(); 219 | } 220 | 221 | $user->name = strip_tags($request->input('name')); 222 | 223 | if ($emailCheck) { 224 | $user->email = $request->input('email'); 225 | } 226 | 227 | if ($passwordCheck) { 228 | $user->password = Hash::make($request->input('password')); 229 | } 230 | 231 | if ($this->_rolesEnabled) { 232 | $user->detachAllRoles(); 233 | $user->attachRole($request->input('role')); 234 | } 235 | 236 | $user->save(); 237 | 238 | return back()->with('success', trans('laravelusers::laravelusers.messages.update-user-success')); 239 | } 240 | 241 | /** 242 | * Remove the specified resource from storage. 243 | * 244 | * @param int $id 245 | * 246 | * @return \Illuminate\Http\Response 247 | */ 248 | public function destroy($id) 249 | { 250 | $currentUser = Auth::user(); 251 | $user = config('laravelusers.defaultUserModel')::findOrFail($id); 252 | 253 | if ($currentUser->id != $user->id) { 254 | $user->delete(); 255 | 256 | return redirect('users')->with('success', trans('laravelusers::laravelusers.messages.delete-success')); 257 | } 258 | 259 | return back()->with('error', trans('laravelusers::laravelusers.messages.cannot-delete-yourself')); 260 | } 261 | 262 | /** 263 | * Method to search the users. 264 | * 265 | * @param Request $request 266 | * 267 | * @return \Illuminate\Http\Response 268 | */ 269 | public function search(Request $request) 270 | { 271 | $searchTerm = $request->input('user_search_box'); 272 | $searchRules = [ 273 | 'user_search_box' => 'required|string|max:255', 274 | ]; 275 | $searchMessages = [ 276 | 'user_search_box.required' => 'Search term is required', 277 | 'user_search_box.string' => 'Search term has invalid characters', 278 | 'user_search_box.max' => 'Search term has too many characters - 255 allowed', 279 | ]; 280 | 281 | $validator = Validator::make($request->all(), $searchRules, $searchMessages); 282 | 283 | if ($validator->fails()) { 284 | return response()->json([ 285 | json_encode($validator), 286 | ], Response::HTTP_UNPROCESSABLE_ENTITY); 287 | } 288 | 289 | $results = config('laravelusers.defaultUserModel')::where('id', 'like', $searchTerm.'%') 290 | ->orWhere('name', 'like', $searchTerm.'%') 291 | ->orWhere('email', 'like', $searchTerm.'%')->get(); 292 | 293 | // Attach roles to results 294 | foreach ($results as $result) { 295 | $roles = [ 296 | 'roles' => $result->roles, 297 | ]; 298 | $result->push($roles); 299 | } 300 | 301 | return response()->json([ 302 | json_encode($results), 303 | ], Response::HTTP_OK); 304 | } 305 | } 306 | -------------------------------------------------------------------------------- /src/resources/views/usersmanagement/show-users.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('laravelusers.laravelUsersBladeExtended')) 2 | 3 | @section('template_title') 4 | {!! trans('laravelusers::laravelusers.showing-all-users') !!} 5 | @endsection 6 | 7 | @section('template_linked_css') 8 | @if(config('laravelusers.enabledDatatablesJs')) 9 | 10 | @endif 11 | @if(config('laravelusers.fontAwesomeEnabled')) 12 | 13 | @endif 14 | @include('laravelusers::partials.styles') 15 | @include('laravelusers::partials.bs-visibility-css') 16 | @endsection 17 | 18 | @section('content') 19 |
20 | @if(config('laravelusers.enablePackageBootstapAlerts')) 21 |
22 |
23 | @include('laravelusers::partials.form-status') 24 |
25 |
26 | @endif 27 |
28 |
29 |
30 |
31 |
32 | 33 | 34 | {!! trans('laravelusers::laravelusers.showing-all-users') !!} 35 | 36 | 37 | 72 |
73 |
74 |
75 | 76 | @if(config('laravelusers.enableSearchUsers')) 77 | @include('laravelusers::partials.search-users-form') 78 | @endif 79 | 80 |
81 | 82 | 85 | 86 | 87 | 88 | 89 | 90 | @if(config('laravelusers.rolesEnabled')) 91 | 92 | @endif 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | @foreach($users as $user) 102 | 103 | 104 | 105 | 106 | @if(config('laravelusers.rolesEnabled')) 107 | 121 | @endif 122 | 123 | 124 | 130 | 135 | 140 | 141 | @endforeach 142 | 143 | @if(config('laravelusers.enableSearchUsers')) 144 | 145 | @endif 146 |
83 | {!! trans_choice('laravelusers::laravelusers.users-table.caption', 1, ['userscount' => $users->count()]) !!} 84 |
{!! trans('laravelusers::laravelusers.users-table.id') !!}{!! trans('laravelusers::laravelusers.users-table.name') !!}{!! trans('laravelusers::laravelusers.users-table.actions') !!}
{{$user->id}}{{$user->name}} 125 | {!! Form::open(array('url' => 'users/' . $user->id, 'class' => '', 'data-toggle' => 'tooltip', 'title' => trans('laravelusers::laravelusers.tooltips.delete'))) !!} 126 | {!! Form::hidden('_method', 'DELETE') !!} 127 | {!! 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', ['user' => $user->name]))) !!} 128 | {!! Form::close() !!} 129 | 131 | 132 | {!! trans('laravelusers::laravelusers.buttons.show') !!} 133 | 134 | 136 | 137 | {!! trans('laravelusers::laravelusers.buttons.edit') !!} 138 | 139 |
147 | 148 | @if($pagintaionEnabled) 149 | {{ $users->links() }} 150 | @endif 151 | 152 |
153 |
154 | 155 |
156 |
157 |
158 |
159 | 160 | @include('laravelusers::modals.modal-delete') 161 | 162 | @endsection 163 | 164 | @section('template_scripts') 165 | @if ((count($users) > config('laravelusers.datatablesJsStartCount')) && config('laravelusers.enabledDatatablesJs')) 166 | @include('laravelusers::scripts.datatables') 167 | @endif 168 | @include('laravelusers::scripts.delete-modal-script') 169 | @include('laravelusers::scripts.save-modal-script') 170 | @if(config('laravelusers.tooltipsEnabled')) 171 | @include('laravelusers::scripts.tooltips') 172 | @endif 173 | @if(config('laravelusers.enableSearchUsers')) 174 | @include('laravelusers::scripts.search-users') 175 | @endif 176 | 177 | @endsection 178 | -------------------------------------------------------------------------------- /src/resources/views/usersmanagement/show-user.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('laravelusers.laravelUsersBladeExtended')) 2 | 3 | @section('template_title') 4 | {!! trans('laravelusers::laravelusers.showing-user', ['name' => $user->name]) !!} 5 | @endsection 6 | 7 | @section('template_linked_css') 8 | @if(config('laravelusers.enabledDatatablesJs')) 9 | 10 | @endif 11 | @if(config('laravelusers.fontAwesomeEnabled')) 12 | 13 | @endif 14 | @include('laravelusers::partials.styles') 15 | @include('laravelusers::partials.bs-visibility-css') 16 | @endsection 17 | 18 | @section('content') 19 |
20 | @if(config('laravelusers.enablePackageBootstapAlerts')) 21 |
22 |
23 | @include('laravelusers::partials.form-status') 24 |
25 |
26 | @endif 27 |
28 |
29 |
30 |
31 |
32 | {!! trans('laravelusers::laravelusers.showing-user-title', ['name' => $user->name]) !!} 33 | 41 |
42 |
43 |
44 |

45 | {{ $user->name }} 46 |

47 | @if($user->email) 48 |

49 | {{ Html::mailto($user->email, $user->email) }} 50 |

51 | @endif 52 |
53 | 58 |
59 | {!! Form::open(array('url' => 'users/' . $user->id, 'class' => 'form-inline')) !!} 60 | {!! Form::hidden('_method', 'DELETE') !!} 61 | {!! Form::button(trans('laravelusers::laravelusers.buttons.delete-user'), array('class' => 'btn btn-danger btn-md btn-block','type' => 'button', 'data-toggle' => 'modal', 'data-target' => '#confirmDelete', 'data-title' => 'Delete User', 'data-message' => 'Are you sure you want to delete this user?')) !!} 62 | {!! Form::close() !!} 63 |
64 |
65 |
    66 |
  • 67 |
    68 |
    69 | 70 | {!! trans('laravelusers::laravelusers.show-user.id') !!} 71 | 72 |
    73 |
    74 | {{ $user->id }} 75 |
    76 |
    77 |
  • 78 | @if ($user->name) 79 |
  • 80 |
    81 |
    82 | 83 | {!! trans('laravelusers::laravelusers.show-user.name') !!} 84 | 85 |
    86 |
    87 | {{ $user->name }} 88 |
    89 |
    90 |
  • 91 | @endif 92 | @if ($user->email) 93 |
  • 94 |
    95 |
    96 | 97 | {!! trans('laravelusers::laravelusers.show-user.email') !!} 98 | 99 |
    100 |
    101 | {{ $user->email }} 102 |
    103 |
    104 |
  • 105 | @endif 106 | @if(config('laravelusers.rolesEnabled')) 107 |
  • 108 |
    109 |
    110 | 111 | {{ trans('laravelusers::laravelusers.show-user.labelRole') }} 112 | 113 |
    114 |
    115 | @foreach ($user->roles as $user_role) 116 | @if ($user_role->name == 'User') 117 | @php $labelClass = 'primary' @endphp 118 | @elseif ($user_role->name == 'Admin') 119 | @php $labelClass = 'warning' @endphp 120 | @elseif ($user_role->name == 'Unverified') 121 | @php $labelClass = 'danger' @endphp 122 | @else 123 | @php $labelClass = 'default' @endphp 124 | @endif 125 | {{ $user_role->name }} 126 | @endforeach 127 |
    128 |
    129 |
  • 130 |
  • 131 |
    132 |
    133 | 134 | {!! trans_choice('laravelusers::laravelusers.show-user.labelAccessLevel', 1) !!} 135 | 136 |
    137 |
    138 | @if($user->level() >= 5) 139 | 5 140 | @endif 141 | @if($user->level() >= 4) 142 | 4 143 | @endif 144 | @if($user->level() >= 3) 145 | 3 146 | @endif 147 | @if($user->level() >= 2) 148 | 2 149 | @endif 150 | @if($user->level() >= 1) 151 | 1 152 | @endif 153 |
    154 |
    155 |
  • 156 | @endif 157 | @if ($user->created_at) 158 |
  • 159 |
    160 |
    161 | 162 | {!! trans('laravelusers::laravelusers.show-user.created') !!} 163 | 164 |
    165 |
    166 | {{ $user->created_at }} 167 |
    168 |
    169 |
  • 170 | @endif 171 | @if ($user->updated_at) 172 |
  • 173 |
    174 |
    175 | 176 | {!! trans('laravelusers::laravelusers.show-user.updated') !!} 177 | 178 |
    179 |
    180 | {{ $user->updated_at }} 181 |
    182 |
    183 |
  • 184 | @endif 185 |
186 |
187 |
188 |
189 |
190 |
191 | @include('laravelusers::modals.modal-delete') 192 | @endsection 193 | 194 | @section('template_scripts') 195 | @include('laravelusers::scripts.delete-modal-script') 196 | @if(config('laravelusers.tooltipsEnabled')) 197 | @include('laravelusers::scripts.tooltips') 198 | @endif 199 | @endsection 200 | -------------------------------------------------------------------------------- /src/resources/views/usersmanagement/create-user.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('laravelusers.laravelUsersBladeExtended')) 2 | 3 | @section('template_title') 4 | {!! trans('laravelusers::laravelusers.create-new-user') !!} 5 | @endsection 6 | 7 | @section('template_linked_css') 8 | @if(config('laravelusers.enabledDatatablesJs')) 9 | 10 | @endif 11 | @if(config('laravelusers.fontAwesomeEnabled')) 12 | 13 | @endif 14 | @include('laravelusers::partials.styles') 15 | @include('laravelusers::partials.bs-visibility-css') 16 | @endsection 17 | 18 | @section('content') 19 |
20 | @if(config('laravelusers.enablePackageBootstapAlerts')) 21 |
22 |
23 | @include('laravelusers::partials.form-status') 24 |
25 |
26 | @endif 27 |
28 |
29 |
30 | 43 |
44 | {!! Form::open(array('route' => 'users.store', 'method' => 'POST', 'role' => 'form', 'class' => 'needs-validation')) !!} 45 | {!! csrf_field() !!} 46 |
47 | @if(config('laravelusers.fontAwesomeEnabled')) 48 | {!! Form::label('email', trans('laravelusers::forms.create_user_label_email'), array('class' => 'col-md-3 control-label')); !!} 49 | @endif 50 |
51 |
52 | {!! Form::text('email', NULL, array('id' => 'email', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.create_user_ph_email'))) !!} 53 |
54 | 61 |
62 |
63 | @if ($errors->has('email')) 64 | 65 | {{ $errors->first('email') }} 66 | 67 | @endif 68 |
69 |
70 |
71 | @if(config('laravelusers.fontAwesomeEnabled')) 72 | {!! Form::label('name', trans('laravelusers::forms.create_user_label_username'), array('class' => 'col-md-3 control-label')); !!} 73 | @endif 74 |
75 |
76 | {!! Form::text('name', NULL, array('id' => 'name', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.create_user_ph_username'))) !!} 77 |
78 | 85 |
86 |
87 | @if ($errors->has('name')) 88 | 89 | {{ $errors->first('name') }} 90 | 91 | @endif 92 |
93 |
94 | @if($rolesEnabled) 95 |
96 | @if(config('laravelusers.fontAwesomeEnabled')) 97 | {!! Form::label('role', trans('laravelusers::forms.create_user_label_role'), array('class' => 'col-md-3 control-label')); !!} 98 | @endif 99 |
100 |
101 | 109 |
110 | 117 |
118 |
119 | @if ($errors->has('role')) 120 | 121 | {{ $errors->first('role') }} 122 | 123 | @endif 124 |
125 |
126 | @endif 127 |
128 | @if(config('laravelusers.fontAwesomeEnabled')) 129 | {!! Form::label('password', trans('laravelusers::forms.create_user_label_password'), array('class' => 'col-md-3 control-label')); !!} 130 | @endif 131 |
132 |
133 | {!! Form::password('password', array('id' => 'password', 'class' => 'form-control ', 'placeholder' => trans('laravelusers::forms.create_user_ph_password'))) !!} 134 |
135 | 142 |
143 |
144 | @if ($errors->has('password')) 145 | 146 | {{ $errors->first('password') }} 147 | 148 | @endif 149 |
150 |
151 |
152 | @if(config('laravelusers.fontAwesomeEnabled')) 153 | {!! Form::label('password_confirmation', trans('laravelusers::forms.create_user_label_pw_confirmation'), array('class' => 'col-md-3 control-label')); !!} 154 | @endif 155 |
156 |
157 | {!! Form::password('password_confirmation', array('id' => 'password_confirmation', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.create_user_ph_pw_confirmation'))) !!} 158 |
159 | 166 |
167 |
168 | @if ($errors->has('password_confirmation')) 169 | 170 | {{ $errors->first('password_confirmation') }} 171 | 172 | @endif 173 |
174 |
175 | {!! Form::button(trans('laravelusers::forms.create_user_button_text'), array('class' => 'btn btn-success margin-bottom-1 mb-1 float-right','type' => 'submit' )) !!} 176 | {!! Form::close() !!} 177 |
178 |
179 |
180 |
181 |
182 | @endsection 183 | 184 | @section('template_scripts') 185 | @if(config('laravelusers.tooltipsEnabled')) 186 | @include('laravelusers::scripts.tooltips') 187 | @endif 188 | @endsection 189 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | ![Laravel Users](https://github-project-images.s3-us-west-2.amazonaws.com/laravel-blocker/laravel-users-logo.png) 2 | 3 | # Laravel Users | A Laravel Users CRUD Management [Package](https://packagist.org/packages/jeremykenedy/laravel-users) 4 | 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. 5 | Easily start creating, updating, editing, and deleting users in minutes with minimal setup required; Easily search all users, helpful for large user bases. 6 | 7 | [![Latest Stable Version](https://poser.pugx.org/jeremykenedy/laravel-users/v/stable.svg)](https://packagist.org/packages/jeremykenedy/laravel-users) 8 | [![Total Downloads](https://poser.pugx.org/jeremykenedy/laravel-users/d/total.svg)](https://packagist.org/packages/jeremykenedy/laravel-users) 9 | [![Travis-CI Build](https://travis-ci.org/jeremykenedy/laravel-users.svg?branch=master)](https://travis-ci.org/jeremykenedy/laravel-users) 10 | [![StyleCI](https://styleci.io/repos/83162309/shield?branch=master)](https://styleci.io/repos/83162309) 11 | [![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) 12 | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 13 | 14 | Become a Patreon 15 | 16 | 17 | #### Table of contents 18 | - [About](#about) 19 | - [Features](#features) 20 | - [Requirements](#requirements) 21 | - [Integrations](#integrations) 22 | - [Installation Instructions](#installation-instructions) 23 | - [Configuration](#configuration) 24 | - [Routes](#routes) 25 | - [Screenshots](#screenshots) 26 | - [File Tree](#file-tree) 27 | - [Opening an Issue](#opening-an-issue) 28 | - [License](#license) 29 | 30 | ### Features 31 | | Laravel Users Features | 32 | | :------------ | 33 | |Full CRUD of Laravel Users| 34 | |Works with built in [auth scaffolding](https://laravel.com/docs/5.7/authentication)| 35 | |Works with various [Roles/ACL Packages](https://github.com/jeremykenedy/laravel-roles)| 36 | |Uses [Language localization](https://laravel.com/docs/5.7/localization) File System| 37 | |Uses [font awesome](https://fontawesome.com/icons), cdn can be optionally called in config| 38 | |Can use built in [pagination](https://laravel.com/docs/5.7/pagination) and/or [datatables.js](https://datatables.net/)| 39 | |Can search all users by name, id, or email| 40 | |Lots of [configuration](#configuration) options| 41 | 42 | 43 | ### Requirements 44 | * [Laravel 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 6, 7, or 8+](https://laravel.com/docs/installation) 45 | 46 | ### Integrations 47 | Laravel users can work out the box with or without the following roles packages: 48 | * [jeremykenedy/laravel-roles](https://github.com/jeremykenedy/laravel-roles) 49 | * [Zizaco/entrust](https://github.com/Zizaco/entrust) 50 | * [romanbican/roles](https://github.com/romanbican/roles) 51 | * [ultraware/roles](https://github.com/ultraware/roles) 52 | 53 | ### Installation Instructions 54 | 1. From your projects root folder in terminal run: 55 | 56 | Laravel 5.6, 5.7, 5.8, 6, 7, and 8+ use: 57 | 58 | ``` 59 | composer require jeremykenedy/laravel-users 60 | ``` 61 | 62 | Laravel 5.5 use: 63 | 64 | ``` 65 | composer require jeremykenedy/laravel-users:2.0.2 66 | ``` 67 | 68 | Laravel 5.4 use: 69 | 70 | ``` 71 | composer require jeremykenedy/laravel-users:1.4.0 72 | ``` 73 | 74 | Laravel 5.3 use: 75 | 76 | ``` 77 | composer require jeremykenedy/laravel-users:1.3.0 78 | ``` 79 | 80 | Laravel 5.2 use: 81 | ``` 82 | composer require jeremykenedy/laravel-users:1.2.0 83 | ``` 84 | 85 | 2. Register Package 86 | * Laravel 5.5, 5.6, 5.7, 5.8, 6, 7, 8+ 87 | Uses package auto discovery feature, no need to edit the `config/app.php` file. 88 | 89 | * Laravel 5.4 and below 90 | Register the package with laravel in `config/app.php` under `providers` with the following: 91 | 92 | ``` 93 | Collective\Html\HtmlServiceProvider::class, 94 | jeremykenedy\laravelusers\LaravelUsersServiceProvider::class, 95 | ``` 96 | 97 | 3. Register the dependencies aliases 98 | * Laravel 5.5 and up 99 | Uses package auto discovery feature, no need to edit the `config/app.php` file. 100 | 101 | * Laravel 5.4 and below 102 | In `config/app.php` section under `aliases` with the following: 103 | 104 | ``` 105 | 'Form' => Collective\Html\FormFacade::class, 106 | 'Html' => Collective\Html\HtmlFacade::class, 107 | ``` 108 | 109 | 4. Publish the package config and language files by running the following from your projects root folder: 110 | 111 | ``` 112 | php artisan vendor:publish --tag=laravelusers 113 | ``` 114 | 115 | ### Configuration 116 | Laravel Users can be configured directly in [`/config/laravelusers.php`](https://github.com/jeremykenedy/laravel-users/blob/master/src/config/laravelusers.php) once you publish the assets. 117 | 118 | ```php 119 | /* 120 | |-------------------------------------------------------------------------- 121 | | Laravel-users setting 122 | |-------------------------------------------------------------------------- 123 | */ 124 | 125 | // The parent blade file 126 | 'laravelUsersBladeExtended' => 'laravelusers::layouts.app', // 'layouts.app' 127 | 128 | // Enable `auth` middleware 129 | 'authEnabled' => true, 130 | 131 | // Enable Optional Roles Middleware on the users assignments 132 | 'rolesEnabled' => false, 133 | 134 | /* 135 | | Enable Roles Middlware on the usability of this package. 136 | | This requires the middleware from the roles package to be registered in `App\Http\Kernel.php` 137 | | An Example: of roles middleware entry in protected `$routeMiddleware` array would be: 138 | | 'role' => \jeremykenedy\LaravelRoles\Middleware\VerifyRole::class, 139 | */ 140 | 141 | 'rolesMiddlwareEnabled' => true, 142 | 143 | // Optional Roles Middleware 144 | 'rolesMiddlware' => 'role:admin', 145 | 146 | // Optional Role Model 147 | 'roleModel' => 'jeremykenedy\LaravelRoles\Models\Role', 148 | 149 | // Enable Soft Deletes - Not yet setup - on the roadmap. 150 | 'softDeletedEnabled' => false, 151 | 152 | // Laravel Default User Model 153 | 'defaultUserModel' => 'App\User', 154 | 155 | // Use the provided blade templates or extend to your own templates. 156 | 'showUsersBlade' => 'laravelusers::usersmanagement.show-users', 157 | 'createUserBlade' => 'laravelusers::usersmanagement.create-user', 158 | 'showIndividualUserBlade' => 'laravelusers::usersmanagement.show-user', 159 | 'editIndividualUserBlade' => 'laravelusers::usersmanagement.edit-user', 160 | 161 | // Use Package Bootstrap Flash Alerts 162 | 'enablePackageBootstapAlerts' => true, 163 | 164 | // Users List Pagination 165 | 'enablePagination' => true, 166 | 'paginateListSize' => 25, 167 | 168 | // Enable Search Users- Uses jQuery Ajax 169 | 'enableSearchUsers' => true, 170 | 171 | // Users List JS DataTables - not recommended use with pagination 172 | 'enabledDatatablesJs' => false, 173 | 'datatablesJsStartCount' => 25, 174 | 'datatablesCssCDN' => 'https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css', 175 | 'datatablesJsCDN' => 'https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js', 176 | 'datatablesJsPresetCDN' => 'https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js', 177 | 178 | // Bootstrap Tooltips 179 | 'tooltipsEnabled' => true, 180 | 'enableBootstrapPopperJsCdn' => true, 181 | 'bootstrapPopperJsCdn' => 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', 182 | 183 | // Icons 184 | 'fontAwesomeEnabled' => true, 185 | 'fontAwesomeCdn' => 'https://use.fontawesome.com/releases/v5.0.6/css/all.css', 186 | 187 | // Extended blade options for packages app.blade.php 188 | 'enableBootstrapCssCdn' => true, 189 | 'bootstrapCssCdn' => 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css', 190 | 191 | 'enableAppCss' => true, 192 | 'appCssPublicFile' => 'css/app.css', 193 | 194 | 'enableBootstrapJsCdn' => true, 195 | 'bootstrapJsCdn' => 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js', 196 | 197 | 'enableAppJs' => true, 198 | 'appJsPublicFile' => 'js/app.js', 199 | 200 | 'enablejQueryCdn' => true, 201 | 'jQueryCdn' => 'https://code.jquery.com/jquery-3.3.1.min.js', 202 | ``` 203 | 204 | ### Routes 205 | * ```/users``` 206 | * ```/users/{id}``` 207 | * ```/users/create``` 208 | * ```/users/{id}/edit``` 209 | 210 | ###### Routes In-depth 211 | | Method | URI | Name | Action | Middleware | 212 | | :-------- | :--------------------- | :--------------- | :-------------------------------------------------------------------------------- | :---------- | 213 | | GET/HEAD | users | users | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@index | web,auth | 214 | | POST | users | users.store | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@store | web,auth | 215 | | GET/HEAD | users/create | users.create | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@create | web,auth | 216 | | GET/HEAD | users/{user} | users.show | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@show | web,auth | 217 | | DELETE | users/{user} | user.destroy | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@destroy | web,auth | 218 | | PUT/PATCH | users/{user} | users.update | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@update | web,auth | 219 | | GET/HEAD | users/{user}/edit | users.edit | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@edit | web,auth | 220 | 221 | ### Required Packages 222 | (included in this package) 223 | 224 | * [laravelcollective/html](https://packagist.org/packages/laravelcollective/html) 225 | 226 | ### Screenshots 227 | 228 | ![Show Users](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/show-users.jpg) 229 | ![Show User](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/show-user.jpg) 230 | ![Edit User](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/edit-user.jpg) 231 | ![Edit User Password](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/edit-user-pw.jpg) 232 | ![Create User](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/create-user.jpg) 233 | ![Create User Modal](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/save-user-modal.jpg) 234 | ![Delete User Modal](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/delete-user-modal.jpg) 235 | ![Error Create](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/error-create.jpg) 236 | ![Error Update](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/error-update.jpg) 237 | ![Error Delete](https://s3-us-west-2.amazonaws.com/github-project-images/laravel-users/error-delete.jpg) 238 | 239 | ### File Tree 240 | 241 | ```bash 242 | laravel-users/ 243 | ├── .env.travis 244 | ├── .gitignore 245 | ├── .travis.yml 246 | ├── LICENSE 247 | ├── composer.json 248 | ├── phpunit.xml 249 | ├── readme.md 250 | └── src 251 | ├── App 252 | │   └── Http 253 | │   └── Controllers 254 | │   └── UsersManagementController.php 255 | ├── LaravelUsersFacade.php 256 | ├── LaravelUsersServiceProvider.php 257 | ├── config 258 | │   └── laravelusers.php 259 | ├── resources 260 | │   ├── lang 261 | │   │   └── en 262 | │   │   ├── app.php 263 | │   │   ├── forms.php 264 | │   │   ├── laravelusers.php 265 | │   │   └── modals.php 266 | │   └── views 267 | │   ├── layouts 268 | │   │   └── app.blade.php 269 | │   ├── modals 270 | │   │   ├── modal-delete.blade.php 271 | │   │   └── modal-save.blade.php 272 | │   ├── partials 273 | │   │   ├── bs-visibility-css.blade.php 274 | │   │   ├── form-status.blade.php 275 | │   │   ├── search-users-form.blade.php 276 | │   │   └── styles.blade.php 277 | │   ├── scripts 278 | │   │   ├── check-changed.blade.php 279 | │   │   ├── datatables.blade.php 280 | │   │   ├── delete-modal-script.blade.php 281 | │   │   ├── save-modal-script.blade.php 282 | │   │   ├── search-users.blade.php 283 | │   │   ├── toggleText.blade.php 284 | │   │   └── tooltips.blade.php 285 | │   └── usersmanagement 286 | │   ├── create-user.blade.php 287 | │   ├── edit-user.blade.php 288 | │   ├── show-user.blade.php 289 | │   └── show-users.blade.php 290 | └── routes 291 | └── web.php 292 | 293 | 294 | ``` 295 | 296 | * Tree command can be installed using brew: `brew install tree` 297 | * File tree generated using command `tree -a -I '.git|node_modules|vendor|storage|tests'` 298 | 299 | ### Opening an Issue 300 | Before opening an issue there are a couple of considerations: 301 | * You are all awesome! 302 | * **Read the instructions** and make sure all steps were *followed correctly*. 303 | * **Check** that the issue is not *specific to your development environment* setup. 304 | * **Provide** *duplication steps*. 305 | * **Attempt to look into the issue**, and if you *have a solution, make a pull request*. 306 | * **Show that you have made an attempt** to *look into the issue*. 307 | * **Check** to see if the issue you are *reporting is a duplicate* of a previous reported issue. 308 | * **Following these instructions show me that you have tried.** 309 | * If you have a questions send me an email to jeremykenedy@gmail.com 310 | * Need some help, I can do my best on Slack: https://opensourcehelpgroup.slack.com 311 | * Please be considerate that this is an open source project that I provide to the community for FREE when opening an issue. 312 | 313 | ### License 314 | Laravel Users | A Laravel Users Management Package is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT). Enjoy! 315 | -------------------------------------------------------------------------------- /src/resources/views/usersmanagement/edit-user.blade.php: -------------------------------------------------------------------------------- 1 | @extends(config('laravelusers.laravelUsersBladeExtended')) 2 | 3 | @section('template_title') 4 | {!! trans('laravelusers::laravelusers.editing-user', ['name' => $user->name]) !!} 5 | @endsection 6 | 7 | @section('template_linked_css') 8 | @if(config('laravelusers.enabledDatatablesJs')) 9 | 10 | @endif 11 | @if(config('laravelusers.fontAwesomeEnabled')) 12 | 13 | @endif 14 | @include('laravelusers::partials.styles') 15 | @include('laravelusers::partials.bs-visibility-css') 16 | @endsection 17 | 18 | @section('content') 19 |
20 | @if(config('laravelusers.enablePackageBootstapAlerts')) 21 |
22 |
23 | @include('laravelusers::partials.form-status') 24 |
25 |
26 | @endif 27 |
28 |
29 |
30 | 49 |
50 | {!! Form::open(array('route' => ['users.update', $user->id], 'method' => 'PUT', 'role' => 'form', 'class' => 'needs-validation')) !!} 51 | {!! csrf_field() !!} 52 |
53 | @if(config('laravelusers.fontAwesomeEnabled')) 54 | {!! Form::label('name', trans('laravelusers::forms.create_user_label_username'), array('class' => 'col-md-3 control-label')); !!} 55 | @endif 56 |
57 |
58 | {!! Form::text('name', $user->name, array('id' => 'name', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.create_user_ph_username'))) !!} 59 |
60 | 67 |
68 |
69 | @if ($errors->has('name')) 70 | 71 | {{ $errors->first('name') }} 72 | 73 | @endif 74 |
75 |
76 |
77 | @if(config('laravelusers.fontAwesomeEnabled')) 78 | {!! Form::label('email', trans('laravelusers::forms.create_user_label_email'), array('class' => 'col-md-3 control-label')); !!} 79 | @endif 80 |
81 |
82 | {!! Form::text('email', $user->email, array('id' => 'email', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.create_user_ph_email'))) !!} 83 |
84 | 91 |
92 |
93 | @if ($errors->has('email')) 94 | 95 | {{ $errors->first('email') }} 96 | 97 | @endif 98 |
99 |
100 | @if($rolesEnabled) 101 |
102 | @if(config('laravelusers.fontAwesomeEnabled')) 103 | {!! Form::label('role', trans('laravelusers::forms.create_user_label_role'), array('class' => 'col-md-3 control-label')); !!} 104 | @endif 105 |
106 |
107 | 119 |
120 | 127 |
128 |
129 | @if ($errors->has('role')) 130 | 131 | {{ $errors->first('role') }} 132 | 133 | @endif 134 |
135 |
136 | @endif 137 |
138 |
139 | @if(config('laravelusers.fontAwesomeEnabled')) 140 | {!! Form::label('password', trans('laravelusers::forms.create_user_label_password'), array('class' => 'col-md-3 control-label')); !!} 141 | @endif 142 |
143 |
144 | {!! Form::password('password', array('id' => 'password', 'class' => 'form-control ', 'placeholder' => trans('laravelusers::forms.create_user_ph_password'))) !!} 145 |
146 | 153 |
154 |
155 | @if ($errors->has('password')) 156 | 157 | {{ $errors->first('password') }} 158 | 159 | @endif 160 |
161 |
162 |
163 | @if(config('laravelusers.fontAwesomeEnabled')) 164 | {!! Form::label('password_confirmation', trans('laravelusers::forms.create_user_label_pw_confirmation'), array('class' => 'col-md-3 control-label')); !!} 165 | @endif 166 |
167 |
168 | {!! Form::password('password_confirmation', array('id' => 'password_confirmation', 'class' => 'form-control', 'placeholder' => trans('laravelusers::forms.create_user_ph_pw_confirmation'))) !!} 169 |
170 | 177 |
178 |
179 | @if ($errors->has('password_confirmation')) 180 | 181 | {{ $errors->first('password_confirmation') }} 182 | 183 | @endif 184 |
185 |
186 |
187 |
188 | 194 |
195 | {!! Form::button(trans('laravelusers::forms.save-changes'), array('class' => 'btn btn-success btn-block margin-bottom-1 mt-3 mb-2 btn-save','type' => 'button', 'data-toggle' => 'modal', 'data-target' => '#confirmSave', 'data-title' => trans('laravelusers::modals.edit_user__modal_text_confirm_title'), 'data-message' => trans('laravelusers::modals.edit_user__modal_text_confirm_message'))) !!} 196 |
197 |
198 | {!! Form::close() !!} 199 |
200 |
201 |
202 |
203 |
204 | 205 | @include('laravelusers::modals.modal-save') 206 | @include('laravelusers::modals.modal-delete') 207 | 208 | @endsection 209 | 210 | @section('template_scripts') 211 | @include('laravelusers::scripts.delete-modal-script') 212 | @include('laravelusers::scripts.save-modal-script') 213 | @include('laravelusers::scripts.check-changed') 214 | @if(config('laravelusers.tooltipsEnabled')) 215 | @include('laravelusers::scripts.tooltips') 216 | @endif 217 | @endsection 218 | 219 | --------------------------------------------------------------------------------