/CRUD

Build a custom admin interface for your Eloquent models, using Laravel 5.2 or 5.3

Primary LanguageJavaScriptOtherNOASSERTION

Backpack\CRUD

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Style CI Total Downloads Tasks Ready to be Done

Quickly build an admin interface for your Eloquent models, using Laravel 5. Erect a complete CMS at 10 minutes/model, max.

Features:

  • 33+ field types
  • 1-n relationships
  • n-n relationships
  • Table view with search, pagination, click column to sort by it
  • Reordering (nested sortable)
  • Back-end validation using Requests
  • Translatable models (multi-language) // TODO
  • Easily extend fields (customising a field type or adding a new one is as easy as creating a new view with a particular name)
  • Easily overwrite functionality (customising how the create/update/delete/reorder process works is as easy as creating a new function with the proper name in your EntityCrudCrontroller)

Security updates and breaking changes

Please subscribe to the Backpack Newsletter so you can find out about any security updates, breaking changes or major features. We send an email every 1-2 months.

List / table view for Backpack/CRUD

Install

  1. In your terminal:
$ composer require backpack/crud
  1. Add this to your config/app.php, under "providers":
        Backpack\CRUD\CrudServiceProvider::class,
  1. Run:
$ php artisan elfinder:publish #published elfinder assets
$ php artisan vendor:publish --provider="Backpack\CRUD\CrudServiceProvider" --tag="public" #publish CRUD assets
$ php artisan vendor:publish --provider="Backpack\CRUD\CrudServiceProvider" --tag="lang" #publish the lang files
$ php artisan vendor:publish --provider="Backpack\CRUD\CrudServiceProvider" --tag="config" #publish the config file
$ php artisan vendor:publish --provider="Backpack\CRUD\CrudServiceProvider" --tag="elfinder" #publish overwritten elFinder assets
  1. Define an 'uploads' disk. In your config/filesystems.php add this disk:
'uploads' => [
            'driver' => 'local',
            'root' => public_path('uploads'),
        ],
  1. If you haven't already, go through steps 3-5 from the Backpack\Base installation (it provides the general views for the admin panel - layout, menu, notification bubbles, etc).

  2. [Optional] You can now the file manager to the menu, in resources/views/vendor/backpack/base/inc/sidebar.blade.php or menu.blade.php:

<li><a href="{{ url(config('backpack.base.route_prefix').'/elfinder') }}"><i class="fa fa-files-o"></i> <span>File manager</span></a></li>

Usage

Check out the documentation at https://laravelbackpack.com

In short:

  1. Make your model use the CrudTrait.

  2. Create a controller that extends CrudController.

  3. Create a new resource route.

  4. (optional) Define your validation rules in a Request files.

(Optional) Enable Revisions

CRUD supports tracking and restoring Model change Revisions with the help of VentureCraft/revisionable.

To enable revisions on your Model do the following:

  1. Run:
$ php artisan migrate --path=vendor/venturecraft/revisionable/src/migrations #run revisionable migrations
  1. Add the \Venturecraft\Revisionable\RevisionableTrait Trait to your Model. E.g:
namespace MyApp\Models;

class Article extends Eloquent {
    use \Backpack\CRUD\CrudTrait, \Venturecraft\Revisionable\RevisionableTrait;

    // If you are using another bootable trait the be sure to override the boot method in your model
    public static function boot()
    {
        parent::boot();
    }
}
  1. Enable access to Revisions in your CrudController with:
$this->crud->allowAccess('revisions');

Head on over to the VentureCraft/revisionable GitHub repo to see the full documentation and extra configuration options.

Screenshots

  • List view pictured above.
  • Create/update view: Create or update view for Backpack/CRUD
  • File manager (elFinder): File manager interface for Backpack/CRUD

Change log

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email hello@tabacitu.ro instead of using the issue tracker.

Please subscribe to the Backpack Newsletter so you can find out about any security updates, breaking changes or major features. We send an email every 1-2 months.

Credits

Special thanks go to:

License

Backpack is free for non-commercial use and $19/project for commercial use. Please see License File and backpackforlaravel.com for more information.