Exemple #1
0
 /**
  * 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]);
     }
 }