Example #1
0
 public function actionUpdateAnswer($id)
 {
     $btnYes = Yii::$app->request->post('btn-yes');
     $btnNo = Yii::$app->request->post('btn-no');
     if (isset($btnNo)) {
         $memberProgress = MembersProgress::find()->where(['member_id' => Yii::$app->user->id, 'category_id' => $id])->one();
         if (!$memberProgress) {
             $memberProgress = new MembersProgress();
             $memberProgress->progress = 1;
             $memberProgress->member_id = Yii::$app->user->id;
             $memberProgress->category_id = $id;
         } else {
             $memberProgress->progress++;
         }
         if ($memberProgress->save()) {
             return Yii::$app->response->redirect(array('members/index'));
         }
     } else {
         $questionsAnswers = new MembersQuestionsAnswers($id);
         $precessStatus = Yii::$app->MappingComponent->processQuestions($questionsAnswers);
         if ($precessStatus) {
             return Yii::$app->response->redirect(array('members/index'));
         } else {
             $categoryModel = MappingCategories::findOne($id);
             $questionsModel = MappingQuestions::find()->where(['category_id' => $id, 'is_active' => 1])->orderBy('order DESC')->with('fieldsTypes')->all();
             return $this->render('update_answers', ['categoryModel' => $categoryModel, 'questionsModel' => $questionsModel, 'questionsAnswers' => $questionsAnswers]);
         }
     }
 }
Example #2
0
 public function saveProgress($categoryId)
 {
     /* initiate members progress data and save to database */
     $memberProgress = MembersProgress::find()->where(['category_id' => $categoryId, 'member_id' => Yii::$app->user->id])->one();
     //if member progress does not exist
     if (empty($memberProgress)) {
         //init model
         $memberProgress = new MembersProgress();
         $memberProgress->member_id = Yii::$app->user->id;
         $memberProgress->category_id = $categoryId;
     }
     //set/reset progress to 1
     $memberProgress->progress = 1;
     return $memberProgress->save();
 }