Commit 4044fc300ab1d8991d7ca5dfbb476628863d738f
1 parent
512cc271
add details criteria form - create and delete
Showing
6 changed files
with
91 additions
and
35 deletions
Show diff stats
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->params['breadcrumbs'][] = $this->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->beginContent('@app/views/layouts/main.php'); |
| 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->beginContent('@app/views/layouts/main.php'); |
| 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 | ]; | ... | ... |