public function getAllTitlesBlocs() { $blocTitle = array(); $bloc = QuestionBloc::model()->findAll(); if ($bloc != null) { foreach ($bloc as $values) { $blocTitle[$values->title] = $values->title; } } return $blocTitle; }
/** * testing method return array type */ public function testTypeFunction() { $model = new QuestionBloc(); $criteria = new EMongoCriteria(); $criteria->title = "Renseignements individuels"; $questionBloc = QuestionBloc::model()->find($criteria); $this->assertInternalType('array', $model->rules()); $this->assertInternalType('array', $model->attributeLabels()); $this->assertInternalType('object', $model->search()); $this->assertInternalType('array', $model->getBlocsByTitle($questionBloc->title)); $this->assertInternalType('array', $model->getAllBlocsTitles()); $this->assertInternalType('array', $model->getAllTitlesBlocs()); }
/** * 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. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = QuestionBloc::model()->findByPk(new MongoId($id)); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
?> </p> <?php echo $form->errorSummary($questionBloc, null, null, array('class' => 'alert alert-error')); ?> <div class="row"> <p><?php echo Yii::t('common', 'chooseQuestionBlock') . $model->name; ?> .</p> <?php echo $form->labelEx($questionBloc, 'title'); ?> <?php echo $form->dropDownList($questionBloc, 'title', QuestionBloc::model()->getAllBlocsTitles(), array('prompt' => '----')); ?> <?php echo $form->error($questionBloc, 'title'); ?> </div> <div class="row" id ="titleBloc" style="display:none;"> <?php echo $form->labelEx($questionBloc, 'id'); ?> <?php echo $form->textField($questionBloc, 'id'); ?> <?php echo $form->error($questionBloc, 'id'); ?>
<div class="wide form"> <?php $form = $this->beginWidget('CActiveForm', array('action' => Yii::app()->createUrl($this->route), 'method' => 'get')); ?> <div class="row"> <div class="col-lg-6"> <?php echo $form->label($model, 'title'); ?> <?php echo $form->dropDownList($model, 'title', QuestionBloc::model()->getAllTitlesBlocs(), array('prompt' => '----', "multiple" => "multiple")); ?> </div> </div> <div class="row buttons"> <div class="col-lg-6"> <?php echo CHtml::submitButton(Yii::t('common', 'search'), array('name' => 'rechercher', 'class' => 'btn btn-default', 'style' => 'margin-top: 8px; padding-bottom: 23px;')); ?> <?php echo CHtml::resetButton(Yii::t('common', 'reset'), array('class' => 'btn btn-default', 'style' => 'margin-top: 8px; padding-bottom: 23px;')); ?> </div> </div> <?php $this->endWidget(); ?>
/** * Mise àjour d un formulaire /mode edition * @param $id the ID of the model to be displayed */ public function actionUpdate($id) { $model = Questionnaire::model()->findByPk(new MongoID($id)); $questionBlocForm = new QuestionBlocForm(); $questionForm = new QuestionForm(); $questionGroup = new QuestionGroup(); // collect user input data if (isset($_POST['QuestionForm'])) { $questionForm->attributes = $_POST['QuestionForm']; if ($questionForm->validatewithId($model)) { if ($questionForm->help == "") { $questionForm->help = null; } //traitement ajout de question if ($questionForm->validate()) { $model = $model->saveQuestionnaireNewQuestion($questionForm); } else { Yii::app()->user->setFlash('error', Yii::t('common', 'questionNotAdded')); } } else { Yii::app()->user->setFlash('error', Yii::t('common', 'questionNotAdded')); } } if (isset($_POST['QuestionGroup'])) { $questionGroup->attributes = $_POST['QuestionGroup']; if ($questionGroup->validatewithId($model)) { //copie du titre sur l option fr $questionGroup->title_fr = $questionGroup->title; if ($questionGroup->validate()) { $model = $model->saveQuestionnaireNewGroup($questionGroup); } } else { Yii::app()->user->setFlash('error', Yii::t('common', 'tabNotAdded')); } } if (isset($_POST['QuestionBlocForm'])) { $questionBlocForm->attributes = $_POST['QuestionBlocForm']; if ($questionBlocForm->validatewithId($model)) { $questionBloc = QuestionBloc::model()->findByPk(new MongoId($questionBlocForm->title)); $questionBlocForm->title_fr = $questionBlocForm->title; $computedGroup = new QuestionGroup(); $computedGroup->copy($questionBlocForm, $questionBloc); if ($computedGroup->validate()) { $model = $model->saveQuestionnaireNewGroup($computedGroup); } if (isset($questionBloc->questions) && $questionBloc->questions != null && count($questionBloc->questions) > 0) { foreach ($questionBloc->questions as $question => $value) { $currentQuestion = Question::model()->findByPk(new MongoId($value)); $questionForm->copy($currentQuestion, $computedGroup); $model->saveQuestionnaireNewQuestionBloc($questionForm); } } } else { Yii::app()->user->setFlash('error', Yii::t('common', 'tabNotAdded')); } } if (isset($_POST['old_onglet'])) { foreach ($model->questions_group as $onglet) { if ($onglet->id == $_POST['old_onglet']) { $onglet->title = $_POST['new_onglet']; $onglet->title_fr = $_POST['new_onglet']; if ($model->save()) { Yii::app()->user->setFlash('success', Yii::t('common', 'tabUpdated')); } else { Yii::app()->user->setFlash('error', Yii::t('common', 'tabNotUpdated')); } } } } if (isset($_POST['old_question'])) { foreach ($model->questions_group as $onglet) { foreach ($onglet->questions as $question) { if ($question->id == $_POST['old_question']) { $question->label = $_POST['new_question']; $question->label_fr = $_POST['new_question']; if ($model->save()) { Yii::app()->user->setFlash('success', Yii::t('common', 'questionUpdated')); } else { Yii::app()->user->setFlash('error', Yii::t('common', 'questionNotUpdated')); } } } } } // set du model sur la questionForm pour generer l arborescende de position de question $questionForm->questionnaire = $model; $questionGroup->questionnaire = $model; $this->render('update', array('model' => $model, 'questionForm' => $questionForm, 'questionGroup' => $questionGroup, 'questionBloc' => $questionBlocForm)); }