Commit 4044fc300ab1d8991d7ca5dfbb476628863d738f

Authored by Mihail
1 parent 512cc271

add details criteria form - create and delete

backend/controllers/DetailsDescriptionController.php
... ... @@ -85,6 +85,24 @@ class DetailsDescriptionController extends BaseController
85 85  
86 86 }
87 87  
  88 + public function actionDeleteCriteria()
  89 + {
  90 +
  91 + $params = Yii::$app->request->get();
  92 + $criteria_model = $this->findCriteriaModel( $params );
  93 +
  94 + if ( $criteria_model->delete() ) {
  95 +
  96 + return $this->redirect(['view', 'name' => $params['name'], 'brand' => $params['brand']]);
  97 +
  98 + } else {
  99 +
  100 + throw new HttpException('Не удалось удалить характеристики из базы данных');
  101 +
  102 + }
  103 +
  104 + }
  105 +
88 106  
89 107 /**
90 108 * Finds the DetailsDescription model based on its primary key value.
... ... @@ -103,5 +121,19 @@ class DetailsDescriptionController extends BaseController
103 121 }
104 122 }
105 123  
  124 + protected function findCriteriaModel( $params )
  125 + {
  126 + if ( isset($params['name'])
  127 + && isset($params['brand'])
  128 + && isset($params['key'])
  129 + && ($model = DetailsCriteria::findOne(['name' => $params['name'], 'brand' => $params['brand'], 'key' => $params['key']])) !== null ) {
  130 +
  131 + return $model;
  132 +
  133 + } else {
  134 + throw new NotFoundHttpException('Запрашиваемая характеристика не существует.');
  135 + }
  136 + }
  137 +
106 138  
107 139 }
... ...
backend/views/check-price/index.php
... ... @@ -86,14 +86,6 @@ Pjax::begin(['id' => 'gridViewContent']);
86 86 },
87 87 ],
88 88 ],
89   -// ['content' => function ($model) {
90   -// $url = Url::to(['delete', 'id' => $model->id, 'update_date' => $model->price_date_update]);
91   -// return Html::a('<span class="glyphicon glyphicon-trash"> </span>', $url, [
92   -// 'class' => 'deletePriceButton',
93   -// 'value' => $url,
94   -// ]);
95   -// },
96   -// ],
97 89 ]
98 90 ]); ?>
99 91  
... ...
backend/views/details-description/view.php
... ... @@ -2,8 +2,9 @@
2 2  
3 3 use yii\helpers\Html;
4 4 use yii\widgets\DetailView;
5   -use yii\widgets\ActiveForm;
  5 +use yii\bootstrap\ActiveForm;
6 6 use yii\grid\GridView;
  7 +use yii\widgets\Pjax;
7 8  
8 9  
9 10 /* @var $this yii\web\View */
... ... @@ -23,47 +24,75 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
23 24 'attributes' => [
24 25 'name',
25 26 'brand',
26   - 'tecdoc_id',
27   - 'tecdoc_article',
  27 +// 'tecdoc_id',
  28 +// 'tecdoc_article',
28 29 'description',
29   - 'tecdoc_description',
30   - 'supplier_description',
31   - 'article',
32   - 'image',
  30 +// 'tecdoc_description',
  31 +// 'supplier_description',
  32 +// 'article',
  33 +// 'image',
33 34 'tecdoc_image',
34   - 'category_id',
  35 + // 'category_id',
35 36 ],
36 37 ]) ?>
37 38  
38 39 <?php
39   - if($count)
  40 + echo Html::tag('hr');
  41 + echo Html::tag('h4','Xарактеристики товара');
  42 + if($count){
  43 + Pjax::begin();
40 44 echo GridView::widget([
41   - 'dataProvider' => $dataProvider,
42   - 'columns' => [
43   - ['class' => 'yii\grid\SerialColumn'],
44   - 'key',
45   - 'value',
46   - ['class' => 'yii\grid\ActionColumn',
47   - 'template' => '{delete}'],
48   - ],
49   - ]); ?>
  45 + 'dataProvider' => $dataProvider,
  46 + 'showHeader' => false,
  47 + 'showOnEmpty' => false,
  48 + 'columns' => [
  49 + 'key',
  50 + 'value',
  51 + ['class' => \yii\grid\ActionColumn::className(),
  52 + 'template'=>'{delete}',
  53 + 'buttons' => [
  54 + 'delete' => function ($url, $model, $key) {
  55 + $url = \yii\helpers\Url::to(['details-description/delete-criteria', 'name' => $model->name, 'brand' => $model->brand, 'key' => $model->key]);
  56 + return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [
  57 + 'title' => Yii::t('yii', 'Удалить характеристики'),
  58 + 'data-confirm' => 'Вы уверены что хотите удалить эти характеристики?',
  59 + 'data-method' => 'post',
  60 + 'data-pjax' => '1',
  61 + ]);
  62 + },
  63 + ],
  64 + ],
  65 + ],
  66 + ]);
  67 + Pjax::end();
  68 + }
  69 +
  70 + ?>
50 71  
51 72 <div class="details-criteria-form">
52 73  
53 74 <?php $form = ActiveForm::begin(['action' =>['details-description/create-criteria'],]); ?>
54 75  
55   - <?= $form->field( $criteria_model, 'key' )->textInput(['maxlength' => true]) ?>
  76 + <?= $form->field( $criteria_model, 'key', [
  77 + 'horizontalCssClasses' => [
  78 + 'input' => 'col-sm-1',
  79 + ]] )->textInput() ?>
56 80  
57   - <?= $form->field( $criteria_model, 'value' )->textInput(['maxlength' => true]) ?>
  81 + <?= $form->field( $criteria_model, 'value', [
  82 + 'horizontalCssClasses' => [
  83 + 'input' => 'col-sm-1',
  84 + ]] )->textInput() ?>
58 85  
59 86 <?= $form->field( $criteria_model, 'name' )->hiddenInput(['value' => $model->name])->label(false)?>
60 87 <?= $form->field( $criteria_model, 'brand' )->hiddenInput(['value' => $model->brand])->label(false) ?>
61 88  
62 89  
63 90 <div class="form-group">
64   - <?= Html::submitButton(Yii::t('app', 'Добавить'), ['class' => 'btn btn-success']) ?>
  91 + <?= Html::submitButton(Yii::t('app', 'Добавить характеристику'), ['class' => 'btn btn-success']) ?>
65 92 </div>
66 93  
67 94 <?php ActiveForm::end(); ?>
68 95 </div>
  96 + <hr>
  97 +
69 98 </div>
... ...
backend/views/layouts/column.php
... ... @@ -286,6 +286,7 @@ $this-&gt;beginContent(&#39;@app/views/layouts/main.php&#39;);
286 286 ['label' => "Загрузка файлов", 'url' => ['#'], 'items' => [
287 287 ['label' => 'Кросс файлы', 'url' => ['crossing-upload/index']],
288 288 ['label' => 'Группы RG', 'url' => ['rg-grup/index']],
  289 + ['label' => "Прайс файлы", 'url' => ['#'], 'items' => [
289 290 ['label' => 'Файлы на сервере', 'url' => ['parser/server-files']],
290 291 ['label' => 'Загрузить файл на сервер', 'url' => ['parser/index', 'mode' => 1]],
291 292 ['label' => 'Ручная загрузка', 'url' => ['parser/index']],
... ... @@ -293,6 +294,8 @@ $this-&gt;beginContent(&#39;@app/views/layouts/main.php&#39;);
293 294 ['label' => 'Управление префиксами', 'url' => ['importers-prefix/index']],
294 295 ],
295 296 ],
  297 + ],
  298 + ],
296 299 ['label' => 'Управление ролями', 'url' => ['#'], 'items' => [
297 300 ['label' => 'Покупатели', 'url' => ['accounts/index']],
298 301 ['label' => 'Поставщики', 'url' => ['importers/index']],
... ...
common/models/DetailsCriteria.php
... ... @@ -48,8 +48,8 @@ class DetailsCriteria extends \backend\components\base\BaseActiveRecord
48 48 return [
49 49 'name' => Yii::t('app', 'Name'),
50 50 'brand' => Yii::t('app', 'Brand'),
51   - 'key' => Yii::t('app', 'Key'),
52   - 'value' => Yii::t('app', 'Value'),
  51 + 'key' => Yii::t('app', 'Ключ'),
  52 + 'value' => Yii::t('app', 'Характеристика'),
53 53 'if_tecdoc' => Yii::t('app', 'If Tecdoc'),
54 54 'filter_id' => Yii::t('app', 'Filter ID'),
55 55 'timestamp' => Yii::t('app', 'Timestamp'),
... ...
common/models/DetailsDescription.php
... ... @@ -59,12 +59,12 @@ class DetailsDescription extends \backend\components\base\BaseActiveRecord
59 59 'brand' => Yii::t('app', 'Бренд'),
60 60 'tecdoc_id' => Yii::t('app', 'Tecdoc ID'),
61 61 'tecdoc_article' => Yii::t('app', 'Артикул Текдока'),
62   - 'description' => Yii::t('app', 'Description'),
  62 + 'description' => Yii::t('app', 'Главное наименование'),
63 63 'tecdoc_description' => Yii::t('app', 'Tecdoc Description'),
64   - 'supplier_description' => Yii::t('app', 'Supplier Description'),
  64 + 'supplier_description' => Yii::t('app', 'Наименование поставщика'),
65 65 'article' => Yii::t('app', 'Article'),
66   - 'image' => Yii::t('app', 'Image'),
67   - 'tecdoc_image' => Yii::t('app', 'Tecdoc Image'),
  66 + 'image' => Yii::t('app', 'Картинка сайта'),
  67 + 'tecdoc_image' => Yii::t('app', 'Картинка Текдока'),
68 68 'category_id' => Yii::t('app', 'Category ID'),
69 69 'timestamp' => Yii::t('app', 'Timestamp'),
70 70 ];
... ...