/**
  * @param $request
  *
  * @return array
  */
 private function parseData($request)
 {
     $role = $request->user()->role_id;
     $route = explode('.', $request->route()->getName());
     $official = ['crud', 'users'];
     if (in_array($route[0], $official)) {
         return [$role, (object) ['roles' => config('laragenerators.defaultRole') . ',']];
     } else {
         $crudName = $route[1];
     }
     $crud = Crud::where('name', ucfirst($crudName))->firstOrFail();
     return [$role, $crud];
 }
Beispiel #2
0
<?php

/**
 * Package routing file specifies all of this package routes.
 */
use Illuminate\Support\Facades\View;
use Dasteem\Laragenerators\Models\Crud;
if (Schema::hasTable('cruds')) {
    $cruds = Crud::where('is_crud', 1)->orderBy('position')->get();
    View::share('cruds', $cruds);
    if (!empty($cruds)) {
        Route::group(['middleware' => ['auth', 'role'], 'prefix' => config('laragenerators.route'), 'namespace' => 'App\\Http\\Controllers'], function () use($cruds) {
            foreach ($cruds as $crud) {
                resource(strtolower($crud->name), 'Admin\\' . ucfirst(camel_case($crud->name)) . 'Controller');
            }
        });
    }
}
Route::group(['namespace' => 'Dasteem\\Laragenerators\\Controllers', 'middleware' => 'auth'], function () {
    // Dashboard home page route
    Route::get(config('laragenerators.homeRoute'), 'LarageneratorsController@index');
    Route::group(['middleware' => 'role'], function () {
        Route::get(config('laragenerators.route') . '/crud', ['as' => 'crud', 'uses' => 'LarageneratorsCrudController@create']);
        Route::post(config('laragenerators.route') . '/crud', ['as' => 'crud', 'uses' => 'LarageneratorsCrudController@insert']);
    });
});
// @todo move to default routes.php
Route::group(['namespace' => 'App\\Http\\Controllers'], function () {
    // Point to App\Http\Controllers\UsersController as a resource
    Route::group(['middleware' => 'role'], function () {
        resource('users', 'UsersController');