/**
  * Creates a new Devices model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Devices();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['index']);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
示例#2
0
 /**
  * Создаем устройство. При создании получаем строку параметров.
  * @param $param
  * @return mixed
  */
 public function actionCreate($param)
 {
     parse_str($param, $arr);
     $id_dev = $arr['id_dev'];
     if ($id_dev > 0) {
         $id_wp = 119;
     } else {
         $id_wp = $arr['id_wp'];
     }
     $model = new Devices();
     $d1 = false;
     $d2 = false;
     $d3 = false;
     if ($model->load(Yii::$app->request->post())) {
         //if (in_array($model->brand, $model::arrayBrands())){$d = true;}
         //if (in_array($model->model, $model::arrayModels())){$d = true;}
         if (!empty($model->sn) && Devices::findOne(['sn' => $model->sn])) {
             $d1 = true;
         }
         if (!empty($model->imei1) && Devices::findOne(['imei1' => $model->imei1])) {
             $d2 = true;
         }
         if (!empty($model->imei2) && Devices::findOne(['imei2' => $model->imei2])) {
             $d3 = true;
         }
         // если устройство с введенными данными уже существует - выбираем его
         if ($d1 || $d2 || $d3) {
             if ($d1) {
                 $new_model = Devices::findOne(['sn' => $model->sn]);
                 $str = ' SN = ' . $model->sn;
             }
             if ($d2) {
                 $new_model = Devices::findOne(['imei1' => $model->imei1]);
                 $str = ' IMEI1 = ' . $model->imei1;
             }
             if ($d3) {
                 $new_model = Devices::findOne(['imei2' => $model->imei2]);
                 $str = ' IMEI2 = ' . $model->imei2;
             }
             Yii::$app->session->setFlash('success', 'Выбрано устройство по введеным данным ' . $str);
             return $this->redirect(['devices/view', 'id' => $new_model->id]);
         }
         $mode = '';
         if ($id_dev > 0) {
             //если устройство создается при выборе комплектующего то сразу добавляем ему родителя
             $model->parent_device_id = $id_dev;
         }
         if ($model->save()) {
             StoryDevice::addStory($id_wp, $model->id, 1);
         }
         if ($id_dev > 0) {
             //при выборе комплектующего отправляем пользователя на страницу устройства
             //Yii::$app->session->remove('mode');
             return $this->redirect(['devices/view', 'id' => $id_dev]);
         } elseif ($id_wp !== 0) {
             return $this->redirect(['workplaces/view', 'id' => $id_wp]);
         } else {
             return $this->redirect(['index']);
         }
     } else {
         return $this->render('create', ['model' => $model, 'id_wp' => $id_wp, 'id_dev' => $id_dev, 'mode' => 'create']);
     }
 }