protected function afterDelete() { if (parent::afterDelete()) { $model = EvaQuestionGroups::model('section=:section', [':section' => 'econEvaMethods']); $model->method = $this->id; $model->setScenario('delete'); $model->save(); } }
public function actionGetQuestionGroups() { // get question groups $rsQuestionGroups = EvaQuestionGroups::model()->find("section='evaCriteriaMethod'"); $questionGroups = json_decode($rsQuestionGroups->questions); //Get questions $rsQuestions = EvaluationQuestion::model()->findAll(['condition' => "flag='final'"], ['select' => "*, CAST(`questionNumber` as SIGNED) AS castedColumn"]); $panels = []; foreach ($questionGroups as $group => $questions) { //print_r($questions); die; //asort($questions); $panels['Group ' . $group] = '<ul class="rb">'; foreach ($rsQuestions as $evaQuestion) { if (in_array($evaQuestion->evalQuestionId, $questions)) { $panels['Group ' . $group] .= '<li>' . $evaQuestion->questionNumber . ' ' . $evaQuestion->question . '</li>'; } } $panels['Group ' . $group] .= '</ul>'; } // print_r($panels); die; $this->renderPartial('questionGroupPopup', ['panels' => $panels], false, true); }
$survObjCriteria->with = ['options']; $survObjCriteria->select = 'inputName'; $survObjCriteria->condition = "inputName='survObj' AND options.frameworkFieldId=t.id"; $rsSurveillanceObjective = FrameworkFields::model()->find($survObjCriteria); $objectives = CHtml::listData($rsSurveillanceObjective->options, 'optionId', 'label'); // /var_dump($objectives); die; ?> <?php echo CHtml::activeDropDownList($model, "[{$index}]surveillanceObj", $objectives, ['empty' => 'Select one']); ?> <?php echo CHtml::error($model, "[{$index}]surveillanceObj"); ?> </td> <td><?php $rsQuestionGrp = EvaQuestionGroups::model()->find(['select' => 'questions']); $questionsArray = array_keys((array) json_decode($rsQuestionGrp->questions)); $groups = array_combine($questionsArray, range(1, count($questionsArray))); $groups[6] = 'Risk based'; //Group 6 ?> <?php echo CHtml::activeDropDownList($model, "[{$index}]evaQuestionGroup", $groups, ['empty' => 'Select one']); ?> <?php echo CHtml::error($model, "[{$index}]evaQuestionGroup"); ?> </td> <td> <?php $attributes = CHtml::listData(EvaAttributes::model()->findAll(), 'attributeId', 'name');
public function actionSelectEconEvaMethods() { $this->setPageTitle('Select economic analysis technique'); // Get relevant questions $econQuestions = json_decode(ModelToArray::convertModelToArray(EvaQuestionGroups::model()->find('section=:sec', [':sec' => 'econEvaMethods']))['questions'], true); // Group 1 ===> Cost-effectiveness analysis // Group 2 ===> Cost-benefit analysis // Group 3 ===> Cost-benefit analysis & Cost-benefit analysis $econMethodGroup = []; //echo $this->evaQuestionId; die; foreach ($econQuestions as $groupKey => $questionGroups) { if (isset(array_flip($questionGroups)[$this->evaQuestionId])) { $econMethodGroup[] = $groupKey; //break; } } if (!isset($econMethodGroup[0])) { Yii::app()->user->setFlash('notice', 'The evaluation question selected for this evaluation context does not' . ' have any economic evaluation methods'); $this->redirect('evaSummary'); } // Get evaluation context model $evaModel = EvaluationHeader::model()->findByPk($this->evaContextId); if (isset($_POST['save']) || isset($_POST['next'])) { if (isset($_POST['EvaluationHeader'])) { $selectedMethods = []; foreach ($_POST['EvaluationHeader'] as $selectedMethod) { $selectedMethods[] = $selectedMethod['econEvaMethods']; } $evaModel->econEvaMethods = json_encode($selectedMethods); } else { $evaModel->econEvaMethods = null; } if ($evaModel->save()) { Yii::app()->user->setFlash('success', 'Economic evaluation method(s) saved successfully'); if (isset($_POST['next'])) { $this->redirect('evaSummary'); return; } } elseif (!$evaModel->hasErrors()) { Yii::app()->user->setFlash('error', 'An error occurred while saving the economic evaluation' . ' method(s), please try again or contact your administrator if the problem persists'); } } // Get economic evaluation methods based on the group of the question $econMethodsCriteria = new CDbCriteria(); $econMethodsCriteria->with = 'econMethodGroup'; $econMethodsCriteria->addInCondition('econMethod', $econMethodGroup); $rsEconMethods = EconomicMethods::model()->findAll($econMethodsCriteria); //print_r($rsEconMethods); die; $econMethods = json_encode(ModelToArray::convertModelToArray($rsEconMethods)); if (isset($_POST['pageId'])) { SystemController::savePage('selectEconEvaMethods'); } $this->docName = 'econEvaMethods'; $page = SystemController::getPageContent($this->docName); $evaDetails = $this->getEvaDetails(); $this->render('selectEconEvaMethods', ['page' => $page, 'econMethods' => $econMethods, 'evaModel' => $evaModel, 'evaDetails' => $evaDetails]); }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @return EvaQuestionGroups the loaded model * @throws CHttpException */ public function loadModel() { $model = EvaQuestionGroups::model()->findByAttributes(['section' => 'econEvaMethods']); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }