/** * @param $request * * @return array */ private function parseData($request) { $role = $request->user()->role_id; $crudName = explode('.', $request->route()->getName())[1]; $crud = Crud::where('name', ucfirst($crudName))->firstOrFail(); return [$role, $crud]; }
/** * @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('quickadmin.defaultRole') . ',']]; } else { $crudName = $route[1]; } $crud = Crud::where('name', ucfirst($crudName))->firstOrFail(); return [$role, $crud]; }
/** * Show new crud creation page * @return \Illuminate\View\View */ public function create() { $fieldTypes = FieldsDescriber::types(); $fieldValidation = FieldsDescriber::validation(); $defaultValuesCbox = FieldsDescriber::default_cbox(); $crudsSelect = Crud::lists('title', 'id'); $parentsSelect = Crud::where('parent_id', null)->lists('title', 'id')->prepend('-- no parent --', 'null'); // Get columns for relationship $models = []; foreach (Crud::all() as $crud) { // We are having a default User model if ($crud->title == 'User' && $crud->is_crud == 0) { $tableName = 'users'; } else { $tableName = strtolower($crud->name); } $models[$crud->id] = Schema::getColumnListing($tableName); } return view("qa::cruds.create", compact('fieldTypes', 'fieldValidation', 'defaultValuesCbox', 'crudsSelect', 'models', 'parentsSelect')); }
<?php /** * Package routing file specifies all of this package routes. */ use Illuminate\Support\Facades\View; use Laraveldaily\Quickadmin\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('quickadmin.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' => 'Laraveldaily\\Quickadmin\\Controllers', 'middleware' => 'auth'], function () { // Dashboard home page route Route::get(config('quickadmin.homeRoute'), 'QuickadminController@index'); Route::group(['middleware' => 'role'], function () { Route::get(config('quickadmin.route') . '/crud', ['as' => 'crud', 'uses' => 'QuickadminCrudController@create']); Route::post(config('quickadmin.route') . '/crud', ['as' => 'crud', 'uses' => 'QuickadminCrudController@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');