Commit 65eb3e514fa44fef5295b0aed913936e1a678e57
1 parent
41068668
29.06.16
Showing
3 changed files
with
14 additions
and
4 deletions
Show diff stats
common/modules/product/controllers/VariantController.php
| @@ -149,13 +149,12 @@ class VariantController extends Controller | @@ -149,13 +149,12 @@ class VariantController extends Controller | ||
| 149 | 149 | ||
| 150 | 150 | ||
| 151 | $ProductStocks = Yii::$app->request->post('ProductStock'); | 151 | $ProductStocks = Yii::$app->request->post('ProductStock'); |
| 152 | - $Stocks = Yii::$app->request->post('Stock'); | ||
| 153 | 152 | ||
| 154 | foreach($ProductStocks as $index => $ProductStock){ | 153 | foreach($ProductStocks as $index => $ProductStock){ |
| 155 | - $stock = Stock::find()->where(['name'=>$Stocks[$index]['name']])->one(); | 154 | + $stock = Stock::find()->where(['name'=>$ProductStock['name']])->one(); |
| 156 | if(!$stock instanceof Stock){ | 155 | if(!$stock instanceof Stock){ |
| 157 | $stock = new Stock(); | 156 | $stock = new Stock(); |
| 158 | - $stock->name = $Stocks[$index]['name']; | 157 | + $stock->name = $ProductStock['name']; |
| 159 | $stock->save(); | 158 | $stock->save(); |
| 160 | } | 159 | } |
| 161 | $psModel = ProductStock::find()->where(['product_variant_id'=>$model->product_variant_id, 'stock_id' =>$stock->stock_id ]); | 160 | $psModel = ProductStock::find()->where(['product_variant_id'=>$model->product_variant_id, 'stock_id' =>$stock->stock_id ]); |
common/modules/product/models/ProductStock.php
| @@ -33,6 +33,7 @@ class ProductStock extends \yii\db\ActiveRecord | @@ -33,6 +33,7 @@ class ProductStock extends \yii\db\ActiveRecord | ||
| 33 | { | 33 | { |
| 34 | return [ | 34 | return [ |
| 35 | [['product_id', 'stock_id', 'quantity', 'product_variant_id'], 'integer'], | 35 | [['product_id', 'stock_id', 'quantity', 'product_variant_id'], 'integer'], |
| 36 | + [['name'],'required'], | ||
| 36 | [['product_id'], 'exist', 'skipOnError' => true, 'targetClass' => Product::className(), 'targetAttribute' => ['product_id' => 'product_id']], | 37 | [['product_id'], 'exist', 'skipOnError' => true, 'targetClass' => Product::className(), 'targetAttribute' => ['product_id' => 'product_id']], |
| 37 | [['product_variant_id'], 'exist', 'skipOnError' => true, 'targetClass' => ProductVariant::className(), 'targetAttribute' => ['product_variant_id' => 'product_variant_id']], | 38 | [['product_variant_id'], 'exist', 'skipOnError' => true, 'targetClass' => ProductVariant::className(), 'targetAttribute' => ['product_variant_id' => 'product_variant_id']], |
| 38 | [['stock_id'], 'exist', 'skipOnError' => true, 'targetClass' => Stock::className(), 'targetAttribute' => ['stock_id' => 'stock_id']], | 39 | [['stock_id'], 'exist', 'skipOnError' => true, 'targetClass' => Stock::className(), 'targetAttribute' => ['stock_id' => 'stock_id']], |
| @@ -49,6 +50,7 @@ class ProductStock extends \yii\db\ActiveRecord | @@ -49,6 +50,7 @@ class ProductStock extends \yii\db\ActiveRecord | ||
| 49 | 'stock_id' => 'Stock ID', | 50 | 'stock_id' => 'Stock ID', |
| 50 | 'quantity' => 'Количество', | 51 | 'quantity' => 'Количество', |
| 51 | 'product_variant_id' => 'Product Variant ID', | 52 | 'product_variant_id' => 'Product Variant ID', |
| 53 | + 'name' => "Название" | ||
| 52 | ]; | 54 | ]; |
| 53 | } | 55 | } |
| 54 | 56 | ||
| @@ -68,6 +70,15 @@ class ProductStock extends \yii\db\ActiveRecord | @@ -68,6 +70,15 @@ class ProductStock extends \yii\db\ActiveRecord | ||
| 68 | return $this->hasOne(ProductVariant::className(), ['product_variant_id' => 'product_variant_id']); | 70 | return $this->hasOne(ProductVariant::className(), ['product_variant_id' => 'product_variant_id']); |
| 69 | } | 71 | } |
| 70 | 72 | ||
| 73 | + | ||
| 74 | + public function getName(){ | ||
| 75 | + return (!empty($this->stock))? $this->stock->name : ''; | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + public function setName($value){ | ||
| 79 | + $this->name = $value; | ||
| 80 | + } | ||
| 81 | + | ||
| 71 | /** | 82 | /** |
| 72 | * @return \yii\db\ActiveQuery | 83 | * @return \yii\db\ActiveQuery |
| 73 | */ | 84 | */ |
common/modules/product/views/variant/_form.php
| @@ -108,7 +108,7 @@ $this->registerJs($js, View::POS_END); | @@ -108,7 +108,7 @@ $this->registerJs($js, View::POS_END); | ||
| 108 | <?= $form->field($stock, "[{$i}]quantity")->textInput(['maxlength' => true]) ?> | 108 | <?= $form->field($stock, "[{$i}]quantity")->textInput(['maxlength' => true]) ?> |
| 109 | </div> | 109 | </div> |
| 110 | <div class="col-sm-5"> | 110 | <div class="col-sm-5"> |
| 111 | - <?= $form->field($stock->stock, "[{$i}]name")->textInput(['maxlength' => true]) ?> | 111 | + <?= $form->field($stock, "[{$i}]name")->textInput(['maxlength' => true]) ?> |
| 112 | </div> | 112 | </div> |
| 113 | <div class="col-sm-2" style="margin-top: 30px"> | 113 | <div class="col-sm-2" style="margin-top: 30px"> |
| 114 | <button type="button" class="remove-item btn btn-danger btn-xs"><i class="glyphicon glyphicon-minus"></i></button> | 114 | <button type="button" class="remove-item btn btn-danger btn-xs"><i class="glyphicon glyphicon-minus"></i></button> |