Esempio n. 1
0
 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);
 }
Esempio n. 3
0
$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');
Esempio n. 4
0
 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;
 }