/** * Creating new data record for Communal module * * @param $counter * @return string|yii\web\Response * @throws ForbiddenHttpException * @throws NotFoundHttpException */ public function actionAddRecord($counter) { /** @var LinkCounter $linkModel */ $linkModel = LinkCounter::findOne(['counter_id' => $counter]); if (!is_null($linkModel)) { /** @var Estate $estate */ $estate = $this->findEstate($linkModel->getEstateId()); $comServiceId = $linkModel->getComServiceId(); } else { throw new NotFoundHttpException(Yii::t('app', 'ERROR_WRONG_ID')); } $model = new AddRecordForm(); $model->setCounterId($counter); if ($model->load(Yii::$app->request->post()) && $model->validate()) { /** @var Record $record */ $record = new Record(); $record->setCounterId($model->getCounterId()); $record->setComServiceId($comServiceId); $record->setData($model->getData()); $record->setStatus(Record::STATUS_NEW); if ($record->save()) { Yii::$app->session->setFlash('success', Yii::t('app', 'FLASH_RECORD_SUCCESS')); return $this->redirect(['/communal/manage/' . $estate->id]); } else { Yii::$app->session->setFlash('error', Yii::t('app', 'FLASH_RECORD_FAILED')); return $this->redirect(['/communal/manage/' . $estate->id]); } } else { return $this->render('record', ['model' => $model, 'estate' => $estate, 'link' => $linkModel]); } }