idevsmg/easyadmin

Admin packages with easy crud, import and export table

Installs: 48

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

Language:JavaScript

dev-main 2024-04-23 10:39 UTC

This package is auto-updated.

Last update: 2024-04-23 10:39:38 UTC


README

Admin packages with easy crud, import and export datas

Installation

  1. Add package to composer.json

     composer require idevsmg/easyadmin:dev-main
     
  2. Add autoload to composer.json

     "autoload": {
         "psr-4": {
             ....
             "Idev\\EasyAdmin\\": "vendor/idevsmg/easyadmin/src/"
         }
     },
    
  3. Add provider to config/app.php providers

     'providers' => ServiceProvider::defaultProviders()->merge([
         .....
         Idev\EasyAdmin\EasyAdminServiceProvider::class,
     ])->toArray(),
    
  4. Run installation

     composer dump-autoload
    
     php artisan vendor:publish --tag=install-idev --force
    

then you can doing migration and seeder

CRUD Generator

You can easily create your crud controller, let's enable command via app/Console/Kernel.php

    protected $commands = [
        ....
        \Idev\EasyAdmin\app\Console\Commands\ControllerMaker::class,
    ];

make sure the table migration has been created then you just type:

    php artisan idev:controller-maker --slug={your-route} --table={your-table}

Middleware CRUD (Optional)

We also prepare middleware for access control in your crud by adding snippet code below into kernel.php

protected $middlewareAliases = [
.....
'middlewareByAccess' => \Idev\EasyAdmin\app\Http\Middleware\MiddlewareByAccess::class
];

And don't forget to implement this middleware into your route

   Route::group(['middleware' => ['web', 'auth', 'middlewareByAccess']], function () {
       ......
   });

Sample CRUD (Optional)

if you want to view our sample crud controller, you can publish sample-crud.
php artisan vendor:publish --tag=sample-crud --force

and set your like this

   Route::group(['middleware' => ['web', 'auth']], function () {
       Route::resource('sample-data', SampleDataController::class);
       Route::get('sample-data-api', [SampleDataController::class, 'indexApi'])->name('sample-data.listapi');
       Route::get('sample-data-export-pdf-default', [SampleDataController::class, 'exportPdf'])->name('sample-data.export-pdf-default');
       Route::get('sample-data-export-excel-default', [SampleDataController::class, 'exportExcel'])->name('sample-data.export-excel-default');
       Route::post('sample-data-import-excel-default', [SampleDataController::class, 'importExcel'])->name('sample-data.import-excel-default');
   });