123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <?php
- namespace App\Admin\Controllers;
- use App\Admin\Renderable\DistDistributorTable;
- use App\Admin\Repositories\DistAppearance;
- use App\Admin\Repositories\DistAppearanceVariable;
- use App\Libraries\CommonHelper;
- use Dcat\Admin\Form;
- use Dcat\Admin\Grid;
- use Dcat\Admin\Show;
- use Dcat\Admin\Http\Controllers\AdminController;
- use Dcat\Admin\Layout\Content;
- use Dcat\Admin\Admin;
- use Dcat\Admin\Widgets\Dropdown;
- class DistAppearanceVariableController extends AdminController
- {
- public function index(Content $content)
- {
- return $content->full()->body($this->grid());
- }
-
- protected function grid()
- {
- $templateCode = isset($_GET['templateCode']) ? $_GET['templateCode'] : 0;
- $appearanceId = isset($_GET['appearanceId']) ? intval($_GET['appearanceId']) : 0;
- $distId = isset($_GET['distId']) ? intval($_GET['distId']) : 0;
- if (empty($appearanceId)) {
- die(' <h3>Please select the theme.<h3>');
- }
- return Grid::make(DistAppearanceVariable::with(['distributor','appearance']), function (Grid $grid) use ($templateCode, $appearanceId, $distId) {
- $grid->column('id')->sortable();
- $grid->column('distributor.company_name','Distributor Name')->display(function ($company_name) {
- if (empty($company_name)) {
- return '-';
- }
- return $company_name;
- });
- $grid->column('appearance.title','Appearance');
-
- $grid->column('variable_name');
-
- $grid->column('variable_type')->using(['1' => 'text', '2' => 'textarea', '3' => 'json']);
-
- $grid->column('templateCode','site variable')->display(function ($templateIds) {
- if ($templateIds == 0) {
- return 'Yes';
- } else {
- return 'No';
- }
- })->label([
- '0' => 'success',
- '1' => 'default',
- ]);;
-
- $grid->quickSearch(['variable_name']);
-
- $grid->disableViewButton();
- $grid->showQuickEditButton();
- $grid->enableDialogCreate();
- $grid->disableEditButton();
- $addUrl = 'templateCode='. $templateCode . '&appearanceId='. $appearanceId . '&distId='. $distId;
-
- $grid->model()->where('appearance_id', $appearanceId)->where('dist_id', $distId)->whereIn('template_code', [0, $templateCode])->orderBy("id",'asc');
-
- CommonHelper::replaceAddEditerUrl('.dialog-create', '.quick-edit', $addUrl);
-
- });
- }
-
-
- protected function form()
- {
- $templateCode = isset($_GET['templateCode']) ? $_GET['templateCode'] : 0;
- $appearanceId = isset($_GET['appearanceId']) ? intval($_GET['appearanceId']) : 0;
- $distId = isset($_GET['distId']) ? intval($_GET['distId']) : 0;
- return Form::make(new DistAppearanceVariable(), function (Form $form) use ($templateCode, $appearanceId, $distId) {
- $form->hidden('appearance_id')->value($appearanceId);
- $form->hidden('dist_id')->value($distId);
- $form->hidden('template_code')->value($templateCode);
- $form->hidden('variable_code');
-
- $variableDefaul = 0;
- if (!$form->isCreating()) {
- if ($form->model()->template_id == 0) {
- $variableDefaul = 1;
- }
- }
- $form->switch('site_variable')->value($variableDefaul)->width(9,3);
- $form->radio('variable_type')->options([
- '1'=>'text',
- '2'=>'textarea',
- '3'=>'json'
- ])->width(9,3)->default(1);
- $form->text('variable_name')->width(9,3);
- $form->textarea('variable_value')->rows(12)->width(9,3);
- $form->ignore(['site_variable']);
- $form->submitted(function (Form $form) {
- if ($form->input('site_variable') == 1) {
- $form->template_code = 0;
- }
- if ($form->isCreating()) {
- $form->variable_code = uniqueCode();
- }
-
- if ($form->input('variable_type') == 3) {
- if (!isValidJson($form->input('variable_value'))) {
- return $form->response()->error('The JSON format is incorrect');
- }
- }
- });
- });
- }
- }
|