Пример #1
0
 /**
  * Update the current Communal's model
  *
  * @param int $id
  * @return string|\yii\web\Response
  * @throws ForbiddenHttpException
  * @throws NotFoundHttpException
  */
 public function actionUpdate($id)
 {
     /** @var Estate $estate */
     $estate = $this->findEstate($id);
     if (!LinkCounter::initialized($estate->id)) {
         $this->initializeEstate($estate->id);
     }
     $links = LinkCounter::getLinksByEstateId($estate->id);
     $model = new CounterList();
     foreach ($links as $link) {
         array_push($model->counters, $link);
         // Full array with counter list from Estate
     }
     if ($post = Yii::$app->request->post()) {
         foreach ($post["Counters"] as $key => $item) {
             foreach ($model->counters as $counter) {
                 if ($counter->id == $key) {
                     /** @var LinkCounter $linkModify */
                     $linkModify = LinkCounter::findOne($key);
                     $linkModify->setAccount((int) $item);
                     $linkModify->save();
                     Yii::$app->session->setFlash('success', Yii::t('app', 'FLASH_COMMUNAL_ACCOUNT_UPDATED'));
                 }
             }
         }
         return $this->redirect(['view', 'id' => $estate->id]);
     } else {
         return $this->render('update', ['model' => $model, 'estate' => $estate]);
     }
 }