Esempio n. 1
0
 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');
?>
Esempio n. 5
0
<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));
 }