예제 #1
0
 function setRAlumno($idRespuesta)
 {
     $respuesta = RespuestaExamen::findOne($idRespuesta);
     foreach ($this->rAlumno as $r) {
         if ($r->idRespuesta->id_pregunta == $respuesta->id_pregunta) {
             unset($r);
         }
     }
     //falta obtener el id de la persona
     $this->rAlumno[] = $this->rAlumno = $respuesta;
 }
예제 #2
0
 /**
  * Creates a new Pregunta model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Pregunta();
     $modelRespuestaExamen = [new RespuestaExamen()];
     $model->load(Yii::$app->request->post());
     $modelRespuestaExamen = DynamicFormModel::createMultiple(RespuestaExamen::className());
     DynamicFormModel::loadMultiple($modelRespuestaExamen, Yii::$app->request->post());
     $valid = $model->validate() && DynamicFormModel::validateMultiple($modelRespuestaExamen);
     if ($valid) {
         $this->negocio->savePregunta1($model, $modelRespuestaExamen);
         $dataProvider = new ActiveDataProvider(['query' => RespuestaExamen::find()->where(['id_pregunta' => $model->id])->orderBy('id')]);
         return $this->redirect(['view', 'id' => $model->id, 'dataProvider' => $dataProvider]);
     } else {
         return $this->render('create', ['model' => $model, 'modelRespuestaExamen' => empty($modelsRespuestaExamen) ? [new RespuestaExamen()] : $modelsRespuestaExamen]);
     }
 }
예제 #3
0
파일: Pregunta.php 프로젝트: rolion/taller1
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getRespuestaExamens()
 {
     return $this->hasMany(RespuestaExamen::className(), ['id_pregunta' => 'id']);
 }
예제 #4
0
 public function updatePregunta($model)
 {
     $modelRespuestaExamen = $model->respuestaExamens;
     $oldIDs = ArrayHelper::map($modelRespuestaExamen, 'id', 'id');
     $modelRespuestaExamen = DynamicFormModel::createMultiple(RespuestaExamen::classname(), $modelRespuestaExamen);
     DynamicFormModel::loadMultiple($modelRespuestaExamen, Yii::$app->request->post());
     $deletedIDs = array_diff($oldIDs, array_filter(ArrayHelper::map($modelRespuestaExamen, 'id', 'id')));
     if ($model->validate() && DynamicFormModel::validateMultiple($modelRespuestaExamen)) {
         $transaction = Yii::$app->db->beginTransaction();
         try {
             $model->file = UploadedFile::getInstance($model, 'file');
             if ($model->file != NULL) {
                 $this->getImagePregunta($model);
             }
             if ($model->save(false)) {
                 if ($model->file != NULL) {
                     $model->file->saveAs($model->imagen);
                 }
                 //                    if (! empty($deletedIDs)) {
                 //                        RespuestaExamen::deleteAll(['id' => $deletedIDs]);
                 //                    }
                 foreach ($modelRespuestaExamen as $i => $modelRespuestaExamen) {
                     $modelRespuestaExamen->imgfile = UploadedFile::getInstance($modelRespuestaExamen, "[{$i}]imgfile");
                     if ($modelRespuestaExamen->imgfile != NULL) {
                         $this->getImageRespuesta($modelRespuestaExamen);
                     }
                     if (!($flag = $modelRespuestaExamen->save(false))) {
                         $transaction->rollBack();
                         return false;
                     }
                     $modelRespuestaExamen->link('idPregunta', $model);
                     if ($modelRespuestaExamen->imgfile != NULL) {
                         $modelRespuestaExamen->imgfile->saveAs($modelRespuestaExamen->imagen);
                     }
                 }
             }
             $transaction->commit();
             return true;
         } catch (Exception $e) {
             print_r($e);
             $transaction->rollBack();
             return false;
         }
     } else {
         return false;
     }
 }
예제 #5
0
 /**
  * Finds the RespuestaExamen model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return RespuestaExamen the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = RespuestaExamen::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
예제 #6
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getIdRespuesta()
 {
     return $this->hasOne(RespuestaExamen::className(), ['id' => 'id_respuesta']);
 }
예제 #7
0
            <div class="container-items"><!-- widgetBody -->
            <?php 
foreach ($preguntas as $i => $pregunta) {
    ?>
                <div class="item panel panel-default"><!-- widgetItem -->
                    <div class="panel-heading">
                        <h3 class="panel-title pull-left"><?php 
    echo $pregunta->nro_pregunta . "-" . $pregunta->descripcion_pregunta;
    ?>
</h3>
                        <div class="clearfix"></div>
                    </div>
                    <div class="panel-body">
                        
                        <?php 
    echo $form->field($respuestasAlumno[$i], "[{$i}]id_respuesta")->radioList(ArrayHelper::map(RespuestaExamen::find()->where(['id_pregunta' => $pregunta->id])->all(), 'id', 'descripcion_respuesta'))->label(false);
    $form->field($respuestasAlumno[$i], "[{$i}]id_inscripcion", ['options' => ['value' => $idInscripcion]])->hiddenInput()->label(false);
    ?>
                    </div>
                </div>
            <?php 
}
?>
            </div>
        </div>
    </div><!-- .panel -->
    <?php 
DynamicFormWidget::end();
?>
    <div class="form-group">
        <?php