Aller au contenu
← Retour aux projets

Laravel Users

Laravel Users

#Laravel Users | A Laravel Users CRUD Management Package

A Users Management CRUD Package that includes all necessary routes, views, models, and controllers for a user management dashboard and associated pages for managing Laravels built in user scaffolding. Easily start creating, updating, editing, and deleting users in minutes with minimal setup required; Easily search all users, helpful for large user bases.

Latest Stable Version Total Downloads StyleCI Scrutinizer Code Quality License: MIT Become a Patreon

  • If you want to sponsor this, please consider sponsoring a contributor and NOT me. Thank you to all who contribute!!

#Table of contents

#Features

Laravel Users Features
Full CRUD of Laravel Users
Works with built in auth scaffolding
Works with various Roles/ACL Packages
Uses Language localization File System
Uses font awesome, cdn can be optionally called in config
Can use built in pagination and/or datatables.js
Can search all users by name, id, or email
Lots of configuration options

#Requirements

#Integrations

Laravel users can work out the box with or without the following roles packages:

#Installation Instructions

  1. From your projects root folder in terminal run:

    Laravel 5.6, 5.7, 5.8, 6, 7, and 8+ use:

        composer require jeremykenedy/laravel-users
    

    Laravel 5.5 use:

        composer require jeremykenedy/laravel-users:2.0.2
    

    Laravel 5.4 use:

        composer require jeremykenedy/laravel-users:1.4.0
    

    Laravel 5.3 use:

        composer require jeremykenedy/laravel-users:1.3.0
    

    Laravel 5.2 use:

        composer require jeremykenedy/laravel-users:1.2.0
    
  2. Register Package

  • Laravel 5.5, 5.6, 5.7, 5.8, 6, 7, 8+ Uses package auto discovery feature, no need to edit the config/app.php file.

  • Laravel 5.4 and below Register the package with laravel in config/app.php under providers with the following:

       Collective\Html\HtmlServiceProvider::class,
       jeremykenedy\laravelusers\LaravelUsersServiceProvider::class,
    
  1. Register the dependencies aliases
  • Laravel 5.5 and up Uses package auto discovery feature, no need to edit the config/app.php file.

  • Laravel 5.4 and below In config/app.php section under aliases with the following:

        'Form' => Collective\Html\FormFacade::class,
        'Html' => Collective\Html\HtmlFacade::class,
    
  1. Publish the package config and language files by running the following from your projects root folder:

        php artisan vendor:publish --tag=laravelusers
    

#Configuration

Laravel Users can be configured directly in /config/laravelusers.php once you publish the assets.

    /*
    |--------------------------------------------------------------------------
    | Laravel-users setting
    |--------------------------------------------------------------------------
    */

    // The parent blade file
    'laravelUsersBladeExtended'     => 'laravelusers::layouts.app', // 'layouts.app'

    // Enable `auth` middleware
    'authEnabled'                   => true,

    // Enable Optional Roles Middleware on the users assignments
    'rolesEnabled'                  => false,

    /*
     | Enable Roles Middlware on the usability of this package.
     | This requires the middleware from the roles package to be registered in `App\Http\Kernel.php`
     | An Example: of roles middleware entry in protected `$routeMiddleware` array would be:
     | 'role' => \jeremykenedy\LaravelRoles\Middleware\VerifyRole::class,
     */

    'rolesMiddlwareEnabled'         => true,

    // Optional Roles Middleware
    'rolesMiddlware'                => 'role:admin',

    // Optional Role Model
    'roleModel'                     => 'jeremykenedy\LaravelRoles\Models\Role',

    // Enable Soft Deletes - Not yet setup - on the roadmap.
    'softDeletedEnabled'            => false,

    // Laravel Default User Model
    'defaultUserModel'              => 'App\User',

    // Use the provided blade templates or extend to your own templates.
    'showUsersBlade'                => 'laravelusers::usersmanagement.show-users',
    'createUserBlade'               => 'laravelusers::usersmanagement.create-user',
    'showIndividualUserBlade'       => 'laravelusers::usersmanagement.show-user',
    'editIndividualUserBlade'       => 'laravelusers::usersmanagement.edit-user',

    // Use Package Bootstrap Flash Alerts
    'enablePackageBootstapAlerts'   => true,

    // Users List Pagination
    'enablePagination'              => true,
    'paginateListSize'              => 25,

    // Enable Search Users- Uses jQuery Ajax
    'enableSearchUsers'             => true,

    // Users List JS DataTables - not recommended use with pagination
    'enabledDatatablesJs'           => false,
    'datatablesJsStartCount'        => 25,
    'datatablesCssCDN'              => 'https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css',
    'datatablesJsCDN'               => 'https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js',
    'datatablesJsPresetCDN'         => 'https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js',

    // Bootstrap Tooltips
    'tooltipsEnabled'               => true,
    'enableBootstrapPopperJsCdn'    => true,
    'bootstrapPopperJsCdn'          => 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js',

    // Icons
    'fontAwesomeEnabled'            => true,
    'fontAwesomeCdn'                => 'https://use.fontawesome.com/releases/v5.0.6/css/all.css',

    // Extended blade options for packages app.blade.php
    'enableBootstrapCssCdn'         => true,
    'bootstrapCssCdn'               => 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css',

    'enableAppCss'                  => true,
    'appCssPublicFile'              => 'css/app.css',

    'enableBootstrapJsCdn'          => true,
    'bootstrapJsCdn'                => 'https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js',

    'enableAppJs'                   => true,
    'appJsPublicFile'               => 'js/app.js',

    'enablejQueryCdn'               => true,
    'jQueryCdn'                     => 'https://code.jquery.com/jquery-3.3.1.min.js',

#Routes

  • /users
  • /users/{id}
  • /users/create
  • /users/{id}/edit
#Routes In-depth
Method URI Name Action Middleware
GET/HEAD users users jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@index web,auth
POST users users.store jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@store web,auth
GET/HEAD users/create users.create jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@create web,auth
GET/HEAD users/{user} users.show jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@show web,auth
DELETE users/{user} user.destroy jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@destroy web,auth
PUT/PATCH users/{user} users.update jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@update web,auth
GET/HEAD users/{user}/edit users.edit jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@edit web,auth

#Required Packages

(included in this package)

#Screenshots

Show Users Show User Edit User Edit User Password Create User Create User Modal Delete User Modal Error Create Error Update Error Delete

#File Tree

laravel-users/
├── .env.travis
├── .gitignore
├── .travis.yml
├── LICENSE
├── composer.json
├── phpunit.xml
├── readme.md
└── src
    ├── App
    │   └── Http
    │       └── Controllers
    │           └── UsersManagementController.php
    ├── LaravelUsersFacade.php
    ├── LaravelUsersServiceProvider.php
    ├── config
    │   └── laravelusers.php
    ├── resources
    │   ├── lang
    │   │   └── en
    │   │       ├── app.php
    │   │       ├── forms.php
    │   │       ├── laravelusers.php
    │   │       └── modals.php
    │   └── views
    │       ├── layouts
    │       │   └── app.blade.php
    │       ├── modals
    │       │   ├── modal-delete.blade.php
    │       │   └── modal-save.blade.php
    │       ├── partials
    │       │   ├── bs-visibility-css.blade.php
    │       │   ├── form-status.blade.php
    │       │   ├── search-users-form.blade.php
    │       │   └── styles.blade.php
    │       ├── scripts
    │       │   ├── check-changed.blade.php
    │       │   ├── datatables.blade.php
    │       │   ├── delete-modal-script.blade.php
    │       │   ├── save-modal-script.blade.php
    │       │   ├── search-users.blade.php
    │       │   ├── toggleText.blade.php
    │       │   └── tooltips.blade.php
    │       └── usersmanagement
    │           ├── create-user.blade.php
    │           ├── edit-user.blade.php
    │           ├── show-user.blade.php
    │           └── show-users.blade.php
    └── routes
        └── web.php


  • Tree command can be installed using brew: brew install tree
  • File tree generated using command tree -a -I '.git|node_modules|vendor|storage|tests'

#Opening an Issue

Before opening an issue there are a couple of considerations:

  • You are all awesome!
  • Read the instructions and make sure all steps were followed correctly.
  • Check that the issue is not specific to your development environment setup.
  • Provide duplication steps.
  • Attempt to look into the issue, and if you have a solution, make a pull request.
  • Show that you have made an attempt to look into the issue.
  • Check to see if the issue you are reporting is a duplicate of a previous reported issue.
  • Following these instructions show me that you have tried.
  • If you have a questions send me an email to jeremykenedy@gmail.com
  • Need some help, I can do my best on Slack: https://opensourcehelpgroup.slack.com
  • Please be considerate that this is an open source project that I provide to the community for FREE when opening an issue.

#License

Laravel Users | A Laravel Users Management Package is open-sourced software licensed under the MIT license. Enjoy!

Nouvelle version disponible.