/**
  * action de création d'un questionnaire.
  * Permet de saisir les éléments de base
  */
 public function actionCreate()
 {
     $model = new Questionnaire();
     $validate = false;
     if (isset($_POST['Questionnaire'])) {
         $model->attributes = $_POST['Questionnaire'];
         $model->creator = ucfirst(Yii::app()->user->getPrenom()) . " " . strtoupper(Yii::app()->user->getNom());
         $model->addQuestionGroup("firstgroup", "Questionnaire principal");
         $countIdForm = $model->getFormsById($model->id);
         $countNameForm = $model->getFormsByName($model->name);
         if (count($countIdForm) > 0) {
             Yii::app()->user->setFlash('error', Yii::t('common', 'idFormExist'));
         } elseif (count($countNameForm) > 0) {
             Yii::app()->user->setFlash('error', Yii::t('common', 'nameFormExist'));
         } else {
             $validate = true;
         }
         if ($validate) {
             if ($model->save()) {
                 Yii::app()->user->setFlash('success', Yii::t('common', 'formSaved'));
                 $this->redirect($this->createUrl('update', array('id' => $model->_id)));
             } else {
                 Yii::app()->user->setFlash('error', Yii::t('common', 'missingFields'));
             }
         }
     }
     $this->render('create', array('model' => $model));
 }
Пример #2
0
 public function actionPushQuestionnaireBegin()
 {
     $student_id = Yii::app()->request->getPost("student_id", NULL);
     $session_id = Yii::app()->request->getPost("session_id", NULL);
     $begin_questionnaire_answer = Yii::app()->request->getPost("begin_questionnaire_answer", NULL);
     $questionnaire = new Questionnaire();
     $questionnaire->student_id = $student_id;
     $questionnaire->session_id = $session_id;
     $questionnaire->begin_questionnaire_answer = $begin_questionnaire_answer;
     $questionnaire->end_questionnaire_answer = "";
     if (!$questionnaire->save()) {
         $this->renderJSON($questionnaire->getErrors());
     } else {
         $this->renderJSON(array('status' => 1, 'message' => 'Successfully saved!'));
     }
 }
Пример #3
0
 public function create_questionnaire()
 {
     build_validator_from_form($this->get_edit_form());
     $questionnaire_data = $this->input->post('questionnaire');
     if (isset($_FILES['file']['name']) && !empty($_FILES['file']['name'])) {
         $this->upload_file($questionnaire_data['upload_id']);
         $this->new_questionnaire();
         return;
     }
     $this->db->trans_begin();
     if ($this->form_validation->run()) {
         $questionnaire = new Questionnaire();
         $questionnaire->from_array($questionnaire_data, array('title', 'configuration'));
         if (isset($questionnaire_data['published']) && (int) $questionnaire_data['published'] == 1) {
             $questionnaire->published = true;
         } else {
             $questionnaire->published = false;
         }
         if (isset($questionnaire_data['attempts']) && $questionnaire_data['attempts'] !== '') {
             $questionnaire->attempts = (int) $questionnaire_data['attempts'];
         } else {
             $questionnaire->attempts = null;
         }
         if ($questionnaire->save() && $this->rename_upload_folder($questionnaire_data['upload_id'], $questionnaire->id)) {
             $this->db->trans_commit();
             add_success_flash_message('Dotazník <strong>' . $questionnaire->title . '</strong> s ID <strong>' . $questionnaire->id . '</strong> bol úspešne vytvorený.');
             redirect(site_url('questionnaires'));
         } else {
             $this->db->trans_rollback();
             $this->delete_upload_folder($questionnaire_data['upload_id']);
             add_error_flash_message('Dotazník <strong>' . $questionnaire->title . '</strong> sa nepodarilo vytvoriť.');
             redirect(site_url('questionnaires/new_questionnaire'));
         }
     } else {
         $this->new_questionnaire();
     }
 }