/** * actionEvaMethods */ public function actionEvaMethods() { Yii::log("actionEvaMethods called", "trace", self::LOG_CAT); $this->setPageTitle(Yii::app()->name . ' - Economic evaluation methods'); $this->docName = 'evaMethods'; if (isset($_POST['pageId'])) { SystemController::savePage('evaMethods'); } $page = SystemController::getPageContent($this->docName); EconEvaMethods::model()->scenario = 'nolink'; $dataProvider = new CActiveDataProvider('EconEvaMethods'); //print_r($dataProvider->getData()); die; $this->render('evaMethods', ['dataProvider' => $dataProvider, 'page' => $page]); }
<?php /* @var $this EvaQuestionGroupsController */ /* @var $model EvaQuestionGroups */ /* @var $form CActiveForm */ ?> <div class="form"> <?php $form = $this->beginWidget('CActiveForm', array('id' => 'eva-question-groups-form', 'enableAjaxValidation' => false)); $evaluationQuestions = CHtml::listData(EvaluationQuestion::model()->findAll('flag=:flag', [':flag' => 'final']), 'evalQuestionId', function ($question) { return $question->questionNumber . ' ' . $question->question; }); $economicMethods = CHtml::listData(EconEvaMethods::model()->findAll(), 'id', 'buttonName'); ?> <p class="note">Fields with <span class="required">*</span> are required.</p> <?php echo $form->errorSummary($model); ?> <div class="row"> <?php echo $form->labelEx($model, 'method'); ?> <?php echo $form->dropdownlist($model, 'method', $economicMethods, ['class' => 'chozen']); ?> <?php
/** * @param $id * @return void */ public function actionUpdateEvaMethod($id) { Yii::log("actionUpdateEvaMethod called", "trace", self::LOG_CAT); $config = self::getEvaMethodsFormConfig(); $buttonParam = ['name' => 'update', 'label' => 'Update']; $config['buttons'] = ContextController::getButtons($buttonParam, 'admin/listEvaMethods'); EconEvaMethods::model()->scenario = 'nolink'; $model = EconEvaMethods::model()->findByPk($id); if (is_null($model)) { Yii::app()->user->setFlash('notice', 'That economic evaluation method does not exist.'); $this->redirect(['admineva/listEvaMethods']); return; } unset($config['buttons']['cancel']); $form = new CForm($config, $model); if ($form->submitted('update') && $form->validate()) { $model = $form->model; if ($model->save(false)) { Yii::app()->user->setFlash('success', 'Economic evaluation method updated successfully'); $this->redirect(['admineva/listEvaMethods']); } Yii::app()->user->setFlash('error', 'An error occurred while updating, please try again or contact ' . 'your administrator if the problem persists'); } $this->render('evaMethods/update', ['form' => $form]); }
<?php $form = $this->beginWidget('CActiveForm', ['id' => 'economic-methods-form', 'enableClientValidation' => true, 'clientOptions' => ['validateOnSubmit' => true], 'enableAjaxValidation' => false]); ?> <p class="note">Fields with <span class="required">*</span> are required.</p> <?php echo $form->errorSummary($model, Yii::app()->params['headerErrorSummary'], Yii::app()->params['footerErrorSummary']); ?> <div class="row"> <?php echo $form->labelEx($model, 'econMethod'); ?> <?php echo $form->dropDownList($model, 'econMethod', CHtml::listData(EconEvaMethods::model()->findAll(), 'id', 'buttonName'), ['class' => 'chozen']); ?> <?php echo $form->error($model, 'econMethod'); ?> </div> <div class="row"> <?php echo $form->labelEx($model, 'name'); ?> <?php echo $form->textField($model, 'name', ['size' => 30, 'maxlength' => 30]); ?> <?php echo $form->error($model, 'name');
/** * @param $questions * @return array */ private function getAssociationData($questions) { $questionArray = json_decode($questions, true); $econMethods = array_keys($questionArray); $methodQuestions = []; foreach ($questionArray as $questionGroup) { //print_r($questionArray); die; $methodQuestions = array_merge($methodQuestions, $questionGroup); } //print_r($methodQuestions); die; $questionCriteria = new CDbCriteria(); $questionCriteria->addInCondition('evalQuestionId', $methodQuestions); $rsQuestions = EvaluationQuestion::model()->findAll($questionCriteria); $econMethodCriteria = new CDbCriteria(); $econMethodCriteria->addInCondition('id', $econMethods); $rsEconMethod = EconEvaMethods::model()->findAll($econMethodCriteria); $associationData = []; foreach ($rsEconMethod as $methodKey => $method) { //print_r($questionArray); //print_r($method); $associationData[$methodKey]['methodName'] = $method->buttonName; $associationData[$methodKey]['methodId'] = $method->id; $associationData[$methodKey]['questions'] = '<ul>'; foreach ($rsQuestions as $question) { if (isset(array_flip($questionArray[$method->id])[$question->evalQuestionId])) { $associationData[$methodKey]['questions'] .= CHtml::tag('li', [], $question->questionNumber . ' ' . $question->question); } } $associationData[$methodKey]['questions'] .= '</ul>'; } return $associationData; }