Commit 424ec7e0b4d2ebeacedd1107084b40f691cc36cd
1 parent
4fb5e6c3
Import browser beta v0.1
Showing
5 changed files
with
92 additions
and
114 deletions
Show diff stats
common/modules/language/behaviors/LanguageBehavior.php
... | ... | @@ -237,7 +237,7 @@ |
237 | 237 | $success = true; |
238 | 238 | $model_langs = $this->model_langs; |
239 | 239 | foreach($model_langs as $model_lang) { |
240 | - if($model_lang->save(true) === false) { | |
240 | + if($model_lang->save() === false) { | |
241 | 241 | $success = false; |
242 | 242 | } |
243 | 243 | } |
... | ... | @@ -251,11 +251,7 @@ |
251 | 251 | */ |
252 | 252 | $owner = $this->owner; |
253 | 253 | $db = $owner::getDb(); |
254 | - if($owner instanceof Product) { | |
255 | - var_dump('HERE'); die(); | |
256 | - } | |
257 | 254 | $this->_transaction = $db->beginTransaction(); |
258 | - | |
259 | 255 | } |
260 | 256 | |
261 | 257 | public function afterSave($event) |
... | ... | @@ -264,10 +260,6 @@ |
264 | 260 | * @var ActiveRecord $owner |
265 | 261 | */ |
266 | 262 | $owner = $this->owner; |
267 | - $this->_transaction->commit(); | |
268 | - if($owner instanceof Product) { | |
269 | - var_dump($owner->product_id); die(); | |
270 | - } | |
271 | 263 | if(!empty( $this->model_langs )) { |
272 | 264 | if($this->linkLangs() && $this->saveLangs()) { |
273 | 265 | $this->_transaction->commit(); | ... | ... |
common/modules/product/models/Import.php
... | ... | @@ -439,7 +439,6 @@ |
439 | 439 | $result_items = []; |
440 | 440 | |
441 | 441 | while(( empty( $limit ) || $j++ < $limit ) && ( $data = fgetcsv($handle, 10000, ";") ) !== false) { |
442 | - | |
443 | 442 | try { |
444 | 443 | foreach($data as &$value) { |
445 | 444 | if(!$is_utf) { |
... | ... | @@ -519,14 +518,13 @@ |
519 | 518 | // ->where([ 'language_id' => $lang ]) |
520 | 519 | // ->one(); |
521 | 520 | // Language::setCurrent($language->url); |
522 | - | |
523 | 521 | $categories = $this->saveCatalog($catalog_names); |
524 | - | |
522 | + | |
525 | 523 | $brand_id = $this->saveBrand($brand_name); |
526 | 524 | |
527 | 525 | $options = []; |
528 | 526 | if(!empty ( $filters )) { |
529 | - | |
527 | + | |
530 | 528 | $options = $this->saveFilters($filters, 0, $categories); |
531 | 529 | } |
532 | 530 | $parsed_name = $this->parseName($product_name); |
... | ... | @@ -568,18 +566,14 @@ |
568 | 566 | if(!empty( $options )) { |
569 | 567 | $_product->options = $options; |
570 | 568 | } |
571 | - | |
569 | + | |
572 | 570 | if(!empty( $_product->lang )) { |
573 | 571 | $product_name_inserted = $_product->lang->name; |
574 | 572 | } else { |
575 | 573 | $product_name_inserted = $_product->model_langs[ Language::$current->language_id ]->name; |
576 | 574 | } |
577 | - | |
578 | - $_product->validate(); | |
579 | - die(var_dump($_product->getErrors())); | |
580 | 575 | |
581 | - var_dump($_product->save()); die(); | |
582 | - if(!$_product->transactionStatus) { | |
576 | + if(($_product->save() === false) || !$_product->transactionStatus) { | |
583 | 577 | $result_items[] = 'Product #' . $product_name_inserted . ' not saved' . " (line $j)"; |
584 | 578 | continue; |
585 | 579 | } |
... | ... | @@ -639,15 +633,15 @@ |
639 | 633 | { |
640 | 634 | $options = []; |
641 | 635 | foreach($filters as $filter) { |
642 | - | |
636 | + | |
643 | 637 | preg_match_all('/\[(.*):(.*)\]/', $filter, $filter); |
644 | - | |
638 | + | |
645 | 639 | if(empty( $filter[ 1 ][ 0 ] )) { |
646 | 640 | continue; |
647 | 641 | } |
648 | 642 | $filter_name = trim($filter[ 1 ][ 0 ]); |
649 | 643 | $parsed_group_name = $this->parseName($filter_name); |
650 | - | |
644 | + | |
651 | 645 | /** |
652 | 646 | * @var TaxGroup $taxGroup |
653 | 647 | */ |
... | ... | @@ -674,38 +668,38 @@ |
674 | 668 | $taxGroup->is_filter = false; |
675 | 669 | $taxGroup->save(); |
676 | 670 | } |
677 | - $filters_options = explode(',', $filter[ 2 ][ 0 ]); | |
678 | - foreach($filters_options as $filter_options) { | |
679 | - $parsed_option_name = $this->parseName($filter_options); | |
680 | - /** | |
681 | - * @var TaxOption $option | |
682 | - */ | |
683 | - | |
684 | - if(!empty( $parsed_option_name[ 'remote_id' ] ) && ( $option = TaxOption::find() | |
685 | - ->joinWith('lang') | |
686 | - ->andFilterWhere([ 'remote_id' => $parsed_option_name[ 'remote_id' ] ]) | |
687 | - ->andFilterWhere([ 'tax_group_id' => $taxGroup->tax_group_id ]) | |
688 | - ->one() ) !== NULL | |
689 | - ) { | |
690 | - if(!empty( $option->lang )) { | |
691 | - $option->lang->value = $parsed_option_name[ 'name' ]; | |
692 | - $option->lang->save(); | |
693 | - } else { | |
694 | - throw new \Exception('Tax option with ID ' . $option->tax_option_id . ' and lang ' . Language::getCurrent()->language_id . ' doesn\'t exist'); | |
695 | - } | |
696 | - } else { | |
697 | - // Create option | |
698 | - $option = new TaxOption(); | |
699 | - $option->generateLangs(); | |
700 | - $option_langs = $option->model_langs; | |
701 | - foreach($option_langs as $option_lang) { | |
702 | - $option_lang->value = $parsed_option_name[ 'name' ]; | |
703 | - } | |
704 | - $option->tax_group_id = $taxGroup->tax_group_id; | |
705 | - $option->save(); | |
706 | - } | |
707 | - $options[] = $option->tax_option_id; | |
708 | - } | |
671 | +// $filters_options = explode(',', $filter[ 2 ][ 0 ]); | |
672 | +// foreach($filters_options as $filter_options) { | |
673 | +// $parsed_option_name = $this->parseName($filter_options); | |
674 | +// /** | |
675 | +// * @var TaxOption $option | |
676 | +// */ | |
677 | +// | |
678 | +// if(!empty( $parsed_option_name[ 'remote_id' ] ) && ( $option = TaxOption::find() | |
679 | +// ->joinWith('lang') | |
680 | +// ->andFilterWhere([ 'remote_id' => $parsed_option_name[ 'remote_id' ] ]) | |
681 | +// ->andFilterWhere([ 'tax_group_id' => $taxGroup->tax_group_id ]) | |
682 | +// ->one() ) !== NULL | |
683 | +// ) { | |
684 | +// if(!empty( $option->lang )) { | |
685 | +// $option->lang->value = $parsed_option_name[ 'name' ]; | |
686 | +// $option->lang->save(); | |
687 | +// } else { | |
688 | +// throw new \Exception('Tax option with ID ' . $option->tax_option_id . ' and lang ' . Language::getCurrent()->language_id . ' doesn\'t exist'); | |
689 | +// } | |
690 | +// } else { | |
691 | +// // Create option | |
692 | +// $option = new TaxOption(); | |
693 | +// $option->generateLangs(); | |
694 | +// $option_langs = $option->model_langs; | |
695 | +// foreach($option_langs as $option_lang) { | |
696 | +// $option_lang->value = $parsed_option_name[ 'name' ]; | |
697 | +// } | |
698 | +// $option->tax_group_id = $taxGroup->tax_group_id; | |
699 | +// $option->save(); | |
700 | +// } | |
701 | +// $options[] = $option->tax_option_id; | |
702 | +// } | |
709 | 703 | } |
710 | 704 | return $options; |
711 | 705 | } | ... | ... |
common/modules/product/models/Product.php
... | ... | @@ -156,15 +156,6 @@ |
156 | 156 | { |
157 | 157 | return $this->hasOne(Brand::className(), [ 'brand_id' => 'brand_id' ]); |
158 | 158 | } |
159 | - | |
160 | - | |
161 | - | |
162 | - public function beforeValidate() | |
163 | - { | |
164 | - if(parent::beforeValidate()){ | |
165 | - die('here'); | |
166 | - } | |
167 | - } | |
168 | 159 | |
169 | 160 | /** |
170 | 161 | * @return \yii\db\ActiveQuery |
... | ... | @@ -354,53 +345,53 @@ |
354 | 345 | ->sum('quantity'); |
355 | 346 | } |
356 | 347 | |
357 | - public function afterSave($insert, $changedAttributes) | |
358 | - { | |
359 | - parent::afterSave($insert, $changedAttributes); | |
360 | - | |
361 | - | |
362 | - if(!empty($this->categories)){ | |
363 | - $categories = Category::findAll($this->categories); | |
364 | - $this->unlinkAll('categories', true); | |
365 | - foreach($categories as $category){ | |
366 | - $this->link('categories', $category); | |
367 | - } | |
368 | - } | |
369 | - | |
370 | - if(!empty($this->options)){ | |
371 | - $options = TaxOption::findAll($this->options); | |
372 | - $this->unlinkAll('options',true); | |
373 | - foreach($options as $option){ | |
374 | - $this->link('options', $option); | |
375 | - } | |
376 | - } | |
377 | - | |
378 | - | |
379 | - if (!empty($this->_variants)) { | |
380 | - $todel = []; | |
381 | - foreach ($this->variants ?: [] as $_variant) { | |
382 | - $todel[$_variant->product_variant_id] = $_variant->product_variant_id; | |
383 | - } | |
384 | - foreach ($this->_variants as $_variant) { | |
385 | - if (!is_array($_variant)) { | |
386 | - return; | |
387 | - } | |
388 | - if (!empty($_variant['product_variant_id'])) { | |
389 | - unset($todel[$_variant['product_variant_id']]); | |
390 | - $model = ProductVariant::findOne($_variant['product_variant_id']); | |
391 | - } else { | |
392 | - $model = new ProductVariant(); | |
393 | - } | |
394 | - $_variant['product_id'] = $this->product_id; | |
395 | - $model->load(['ProductVariant' => $_variant]); | |
396 | - $model->product_id = $this->product_id; | |
397 | - $model->save(); | |
398 | - } | |
399 | - if (!empty($todel)) { | |
400 | - ProductVariant::deleteAll(['product_variant_id' => $todel]); | |
401 | - } | |
402 | - } | |
403 | - } | |
348 | +// public function afterSave($insert, $changedAttributes) | |
349 | +// { | |
350 | +// parent::afterSave($insert, $changedAttributes); | |
351 | +// | |
352 | +// | |
353 | +// if(!empty($this->categories)){ | |
354 | +// $categories = Category::findAll($this->categories); | |
355 | +// $this->unlinkAll('categories', true); | |
356 | +// foreach($categories as $category){ | |
357 | +// $this->link('categories', $category); | |
358 | +// } | |
359 | +// } | |
360 | +// | |
361 | +// if(!empty($this->options)){ | |
362 | +// $options = TaxOption::findAll($this->options); | |
363 | +// $this->unlinkAll('options',true); | |
364 | +// foreach($options as $option){ | |
365 | +// $this->link('options', $option); | |
366 | +// } | |
367 | +// } | |
368 | +// | |
369 | +// | |
370 | +// if (!empty($this->_variants)) { | |
371 | +// $todel = []; | |
372 | +// foreach ($this->variants ?: [] as $_variant) { | |
373 | +// $todel[$_variant->product_variant_id] = $_variant->product_variant_id; | |
374 | +// } | |
375 | +// foreach ($this->_variants as $_variant) { | |
376 | +// if (!is_array($_variant)) { | |
377 | +// return; | |
378 | +// } | |
379 | +// if (!empty($_variant['product_variant_id'])) { | |
380 | +// unset($todel[$_variant['product_variant_id']]); | |
381 | +// $model = ProductVariant::findOne($_variant['product_variant_id']); | |
382 | +// } else { | |
383 | +// $model = new ProductVariant(); | |
384 | +// } | |
385 | +// $_variant['product_id'] = $this->product_id; | |
386 | +// $model->load(['ProductVariant' => $_variant]); | |
387 | +// $model->product_id = $this->product_id; | |
388 | +// $model->save(); | |
389 | +// } | |
390 | +// if (!empty($todel)) { | |
391 | +// ProductVariant::deleteAll(['product_variant_id' => $todel]); | |
392 | +// } | |
393 | +// } | |
394 | +// } | |
404 | 395 | |
405 | 396 | public function imagesUpload() |
406 | 397 | { | ... | ... |
common/modules/rubrication/models/TaxGroup.php
common/modules/rubrication/models/TaxOption.php
... | ... | @@ -63,10 +63,10 @@ |
63 | 63 | ], |
64 | 64 | ], |
65 | 65 | ], |
66 | -// 'artboxtree' => [ | |
67 | -// 'class' => ArtboxTreeBehavior::className(), | |
68 | -// 'keyNameGroup' => 'tax_group_id', | |
69 | -// ], | |
66 | + 'artboxtree' => [ | |
67 | + 'class' => ArtboxTreeBehavior::className(), | |
68 | + 'keyNameGroup' => 'tax_group_id', | |
69 | + ], | |
70 | 70 | 'language' => [ |
71 | 71 | 'class' => LanguageBehavior::className(), |
72 | 72 | ], | ... | ... |