/** * 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]); } }
/** * Создаем устройство. При создании получаем строку параметров. * @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']); } }