Пример #1
0
 public function actionAddStruktura()
 {
     Yii::$app->response->format = Response::FORMAT_JSON;
     $response = new JsResponse();
     $nazvanie = Yii::$app->request->post('nazvanie');
     $bally = Yii::$app->request->post('bally');
     $nomer = Yii::$app->request->post('nomer');
     $roditel = Yii::$app->request->post('roditel');
     $otsenochnyjList = Yii::$app->request->post('otsenochnyj_list');
     if ($nazvanie == '') {
         $response->type = JsResponse::ERROR;
         $response->msg = 'Введите название';
     }
     if ($bally == '' or $bally < 0) {
         $response->type = JsResponse::ERROR;
         $response->msg = 'Введите количество баллов, целое положительное число';
     }
     if ($response->type != JsResponse::ERROR) {
         $newItem = new StrukturaOtsenochnogoLista();
         $newItem->nazvanie = $nazvanie;
         $newItem->bally = $bally;
         $newItem->nomer = $nomer;
         $newItem->roditel = $roditel;
         $newItem->otsenochnyjList = $otsenochnyjList;
         if ($newItem->validate() and $newItem->save()) {
             if ($roditel == null) {
                 $response->data = StrukturaOtsenochnogoLista::find()->joinWith('podstrukturaRel')->where(['struktura_otsenochnogo_lista.id' => $newItem->id])->asArray()->one();
             } else {
                 StrukturaOtsenochnogoLista::recalculateSummuBallov($roditel);
                 $response->data = StrukturaOtsenochnogoLista::find()->joinWith('podstrukturaRel')->where(['struktura_otsenochnogo_lista.id' => $roditel])->orderBy(['struktura_otsenochnogo_lista.nomer' => SORT_ASC, 'podstruktura.nomer' => SORT_ASC])->asArray()->one();
             }
         } else {
             $response->type = JsResponse::ERROR;
             $response->msg = 'Произошла ошибка во время сохранения данных!';
         }
     }
     return $response;
 }