public function actionCreate()
 {
     $model = new Installakt();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         Proc::RemoveLastBreadcrumbsFromSession();
         // Удаляем последнюю хлебную крошку из сессии (Создать меняется на Обновить)
         return $this->redirect(['update', 'id' => $model->installakt_id]);
     } else {
         $model->installakt_date = empty($model->installakt_date) ? date('Y-m-d') : $model->installakt_date;
         return $this->render('create', ['model' => $model]);
     }
 }
Exemple #2
0
 public function save($IDinstaller)
 {
     if ($this->validate()) {
         $transaction = Yii::$app->db->beginTransaction();
         try {
             $Installakt = new Installakt();
             $Installakt->installakt_date = date('Y-m-d');
             $Installakt->id_installer = $IDinstaller;
             if ($Installakt->save()) {
                 $Mattraffic = new Mattraffic();
                 $Mattraffic_choose = Mattraffic::findOne($this->id_mattraffic);
                 $Mattraffic->attributes = $Mattraffic_choose->attributes;
                 $Mattraffic->mattraffic_date = date('Y-m-d');
                 $Mattraffic->mattraffic_number = empty($this->mattraffic_number) ? 1 : $this->mattraffic_number;
                 $Mattraffic->mattraffic_tip = 3;
                 if ($Mattraffic->save()) {
                     $trOsnov = new TrOsnov();
                     $trOsnov->id_installakt = $Installakt->primaryKey;
                     $trOsnov->id_mattraffic = $Mattraffic->primaryKey;
                     $trOsnov->tr_osnov_kab = $this->tr_osnov_kab;
                     if ($trOsnov->save()) {
                         $this->mattraffic_trosnov_id = $trOsnov->primaryKey;
                         $this->primaryKey = $trOsnov->primaryKey;
                         $transaction->commit();
                         return true;
                     } else {
                         $transaction->rollBack();
                         return false;
                     }
                 } else {
                     $this->addError('mattraffic_number', $Mattraffic->getErrors('mattraffic_number')[0]);
                     $transaction->rollBack();
                     return false;
                 }
             } else {
                 $transaction->rollBack();
                 return false;
             }
         } catch (Exception $e) {
             $transaction->rollBack();
             throw new Exception($e->getMessage());
         }
     } else {
         return false;
     }
 }