Ejemplo n.º 1
0
 protected function beforeSave()
 {
     if ($this->isNewRecord) {
         $this->sort = Yii::app()->db->createCommand()->select('MAX(sort) + 1')->from($this->tableName())->queryScalar();
     }
     return parent::beforeSave();
 }
Ejemplo n.º 2
0
 public function beforeSave()
 {
     if (Product::model()->exists('id = :product_id', [":product_id" => $this->product_id])) {
         $this->variant_ids = array_filter($this->variant_ids);
         // удаляем варианты, которые не были выбраны, старые не трогаем, чтобы оставить данные, на случай, если вариант был удален из системы
         foreach ($this->oldVariants as $key => $var) {
             if (!in_array($var['id'], $this->variant_ids)) {
                 unset($this->oldVariants[$key]);
             }
         }
         $oldVariantIds = array_map(function ($x) {
             return $x['id'];
         }, $this->oldVariants);
         $newVariants = [];
         foreach ($this->variant_ids as $varId) {
             if (!in_array($varId, $oldVariantIds)) {
                 /* @var $variant ProductVariant */
                 $variant = ProductVariant::model()->findByPk($varId);
                 if ($variant) {
                     // сохраняем информацию на случай удаления варианта из системы
                     $newVariants[] = array_merge($variant->attributes, ['attribute_name' => $variant->attribute->name, 'attribute_title' => $variant->attribute->title, 'optionValue' => $variant->getOptionValue()]);
                 }
             }
         }
         $combinedVariants = array_merge($this->oldVariants, $newVariants);
         $this->variants = serialize($combinedVariants);
     }
     return parent::beforeSave();
 }
Ejemplo n.º 3
0
 /**
  * @return bool
  */
 public function beforeSave()
 {
     $this->update_time = new CDbExpression('NOW()');
     if ($this->getIsNewRecord()) {
         $this->create_time = $this->update_time;
     }
     $this->user_id = Yii::app()->hasComponent('user') ? Yii::app()->getUser()->getId() : null;
     return parent::beforeSave();
 }
Ejemplo n.º 4
0
 /**
  * @return bool
  */
 public function beforeSave()
 {
     $this->update_time = new CDbExpression('NOW()');
     if ($this->getIsNewRecord()) {
         $this->create_time = $this->update_time;
     }
     // Пользователя можно получить только для веб-приложения
     $this->user_id = Yii::app()->hasComponent('user') ? Yii::app()->getUser()->getId() : null;
     return parent::beforeSave();
 }
Ejemplo n.º 5
0
 public function beforeSave()
 {
     $this->change_date = new CDbExpression('NOW()');
     if ($this->isNewRecord) {
         $this->creation_date = $this->change_date;
     }
     // Пользователя можно получить только для веб-приложения
     if (YII_APP_TYPE == 'web') {
         $this->user_id = Yii::app()->user->getId();
     } else {
         $this->user_id = null;
     }
     return parent::beforeSave();
 }
Ejemplo n.º 6
0
 public function beforeSave()
 {
     $this->change_date = new CDbExpression('NOW()');
     if ($this->isNewRecord) {
         $this->creation_date = $this->change_date;
     }
     if (!isset($this->user_id)) {
         $this->user_id = Yii::app()->user->getId();
     }
     if ($this->user_id !== Yii::app()->user->getId()) {
         $this->user_id = Yii::app()->user->getId();
     }
     return parent::beforeSave();
 }
Ejemplo n.º 7
0
 protected function beforeSave()
 {
     // Сохраняем путь к файлу
     $this->file = $this->file_name;
     return parent::beforeSave();
 }