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

144 lines
4.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\User_subRequest as StoreRequest;
use App\Http\Requests\User_subRequest as UpdateRequest;
use Backpack\CRUD\CrudPanel;
/**
* Class User_subCrudController
* @package App\Http\Controllers\Admin
* @property-read CrudPanel $crud
*/
class User_subCrudController extends CrudController
{
public function setup()
{
/*
|--------------------------------------------------------------------------
| CrudPanel Basic Information
|--------------------------------------------------------------------------
*/
$this->crud->setModel('App\Models\User_sub');
$this->crud->setRoute(config('backpack.base.route_prefix') . '/user_sub');
$this->crud->setEntityNameStrings('user_sub', 'user_subs');
$this->crud->orderBy('updated_at', 'DESC');
/*
|--------------------------------------------------------------------------
| CrudPanel Configuration
|--------------------------------------------------------------------------
*/
// TODO: remove setFromDb() and manually define Fields and Columns
//$this->crud->setFromDb();
$this->crud->addFields([
[
'name' => 'user_id',
'label' => 'User',
'type' => 'select',
'entity' => 'user',
'attribute' =>'email',
'model' => 'App\User',
],
[
'name' => 'subscription_type',
'label' => 'Subscription Type',
'type' => 'select',
'entity' => 'subscription',
'attribute' =>'title',
'model' => 'App\Models\Subscription'
],
[
'name' => 'start_time',
'label' => 'Start time',
'type' => 'datetime_picker',
'datetime_picker_options' => [
'format' => 'DD/MM/YYYY HH:mm',
'language' => 'en'
],
'allows_null' => true,
],
[
'name' => 'end_time',
'label' => 'End time',
'type' => 'datetime_picker',
'datetime_picker_options' => [
'format' => 'DD/MM/YYYY HH:mm',
'language' => 'en'
],
'allows_null' => true,
],
[
'name' => 'status',
'label' => 'Status',
'type' => 'checkbox'
]
]);
$this->crud->addColumns([
[
'name' => 'user_id',
'label' => 'User',
'type' => 'select',
'entity' => 'user',
'attribute' =>'email',
'model' => 'App\User',
],
[
'name' => 'subscription_type',
'label' => 'Subscription Type',
'type' => 'select',
'entity' => 'subscription',
'attribute' =>'title',
'model' => 'App\Models\Subscription'
],
[
'name' => 'start_time',
'label' => 'Start time',
'type' => 'datetime'
],
[
'name' => 'end_time',
'label' => 'End time',
'type' => 'datetime'
],
[
'name' => 'status',
'label' => 'Status',
'type' => 'check',
],
[
'name' => 'sid',
'label' => "Order ID",
'type' => 'text'
]
]);
$this->crud->denyAccess(['create']);
// add asterisk for fields that are required in User_subRequest
$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;
}
}