Commit 20e5163fe80ccdb2c39284006f5f8e2061a09a65
1 parent
be12ad11
-
Showing
2 changed files
with
13 additions
and
2 deletions
Show diff stats
common/modules/product/models/Category.php
| ... | ... | @@ -8,6 +8,7 @@ use common\components\artboxtree\ArtboxTreeHelper; |
| 8 | 8 | use common\modules\relation\relationBehavior; |
| 9 | 9 | use common\modules\rubrication\behaviors\ArtboxSynonymBehavior; |
| 10 | 10 | use Yii; |
| 11 | +use yii\base\ErrorException; | |
| 11 | 12 | |
| 12 | 13 | /** |
| 13 | 14 | * This is the model class for table "category". |
| ... | ... | @@ -28,6 +29,7 @@ use Yii; |
| 28 | 29 | * @property boolean $populary |
| 29 | 30 | * |
| 30 | 31 | * @property CategoryName $categoryName |
| 32 | + * @property Product[] $products | |
| 31 | 33 | * @property ProductUnit $productUnit |
| 32 | 34 | * @property CategoryName[] $categoryNames |
| 33 | 35 | * @property ProductCategory[] $productCategories |
| ... | ... | @@ -202,4 +204,12 @@ class Category extends \yii\db\ActiveRecord |
| 202 | 204 | } |
| 203 | 205 | return false; |
| 204 | 206 | } |
| 207 | + | |
| 208 | + public function beforeDelete() | |
| 209 | + { | |
| 210 | + if ( ($count = $this->getProducts()->count()) > 0) { | |
| 211 | + throw new ErrorException('С категорией "'. $this->name .'" связанно <strong>'. $count .'</strong> товаров. Удаление невозможно.'); | |
| 212 | + return false; | |
| 213 | + } | |
| 214 | + } | |
| 205 | 215 | } | ... | ... |
common/modules/product/views/manage/_form.php
| ... | ... | @@ -23,8 +23,9 @@ use kartik\select2\Select2; |
| 23 | 23 | |
| 24 | 24 | <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?> |
| 25 | 25 | |
| 26 | - <?= $form->field($model, 'is_top')->checkbox() ?> | |
| 27 | - <?= $form->field($model, 'is_new')->checkbox() ?> | |
| 26 | + <?= $form->field($model, 'is_top')->checkbox(['label' => 'ТОП']) ?> | |
| 27 | + <?= $form->field($model, 'is_new')->checkbox(['label' => 'Новинка']) ?> | |
| 28 | + <?= $form->field($model, 'akciya')->checkbox(['label' => 'Акционный']) ?> | |
| 28 | 29 | |
| 29 | 30 | <?= $form->field($model, 'description')->widget(\mihaildev\ckeditor\CKEditor::className(),['editorOptions' => [ 'preset' => 'full', 'inline' => false, ], ]); ?> |
| 30 | 31 | <?= $form->field($model, 'video')->textarea(); ?> | ... | ... |