turkmentv/app/Http/Controllers/Admin/MenuCrudController.php

75 lines
2.7 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use Backpack\CRUD\app\Http\Controllers\CrudController;
// VALIDATION: change the requests to match your own file names if you need form validation
use App\Http\Requests\MenuRequest as StoreRequest;
use App\Http\Requests\MenuRequest as UpdateRequest;
use Backpack\CRUD\CrudPanel;
/**
* Class MenuCrudController
* @package App\Http\Controllers\Admin
* @property-read CrudPanel $crud
*/
class MenuCrudController extends CrudController
{
public function setup()
{
/*
|--------------------------------------------------------------------------
| CrudPanel Basic Information
|--------------------------------------------------------------------------
*/
$this->crud->setModel('App\Models\Menu');
$this->crud->setRoute(config('backpack.base.route_prefix') . '/menu');
$this->crud->setEntityNameStrings('menu', 'menus');
/*
|--------------------------------------------------------------------------
| CrudPanel Configuration
|--------------------------------------------------------------------------
*/
// TODO: remove setFromDb() and manually define Fields and Columns
//$this->crud->setFromDb();
$this -> crud -> addColumns([
['name' => 'name', 'type' => 'text', 'label' => 'Name'],
['name' => 'url', 'type' => 'text', 'label' => 'URL'],
['name' => 'menu_type', 'type' => 'enum', 'label' => 'Menu Type'],
]);
$this -> crud -> addFields([
['name' => 'name', 'type' => 'text', 'label' => 'Name'],
['name' => 'url', 'type' => 'text', 'label' => 'URL'],
['name' => 'menu_type', 'type' => 'enum', 'label' => 'Menu Type'],
['name' => 'details', 'type' => 'table', 'label' => 'Details', 'columns' => ['section' => 'Section']],
]);
// add asterisk for fields that are required in MenuRequest
$this->crud->setRequiredFields(StoreRequest::class, 'create');
$this->crud->setRequiredFields(UpdateRequest::class, 'edit');
}
public function store(StoreRequest $request)
{
// your additional operations before save here
$redirect_location = parent::storeCrud($request);
// your additional operations after save here
// use $this->data['entry'] or $this->crud->entry
return $redirect_location;
}
public function update(UpdateRequest $request)
{
// your additional operations before save here
$redirect_location = parent::updateCrud($request);
// your additional operations after save here
// use $this->data['entry'] or $this->crud->entry
return $redirect_location;
}
}