public function metricasEncuestas()
 {
     $encuesta = UsuarioEncuesta::all();
     //Datos encuesta y lista preguntas
     // $encuesta = 1;
     $preguntas = Pregunta::where('idEncuesta', 1)->join('tipo_dato', 'pregunta.tipo', '=', 'tipo_dato.id')->join('identificacion_preguntas as id_preg', 'pregunta.identificacion', '=', 'id_preg.id')->select('pregunta.id', 'pregunta.valor as valpregunta', 'pregunta.posicion as posicion', 'id_preg.valor as id_preg_valor', 'tipo_dato.valor as tipo_dato_valor')->get()->toArray();
     $respuestas = Pregunta::find(3)->respuestas()->get();
     // $datosEncuesta = DB::table('encuesta')->where('id', $encuesta)->first();
     echo "<pre>";
     print_r($respuestas);
     echo "</pre>";
     die;
     return View::make('admin.metricas', array('encuestas' => $encuesta, 'preguntas' => $preguntas));
 }
示例#2
0
         $course = $data['course_id'];
         $tests = Evaluacion::where('semana', '=', $week)->where('id_curso', '=', $course)->get();
     } elseif (array_key_exists('course_id', $data)) {
         $course = $data['course_id'];
         $tests = Evaluacion::where('id_curso', '=', $course)->get();
     } else {
         $tests = Evaluacion::all();
     }
     return Response::json($tests);
 });
 // /api/questions
 Route::get('questions', function () {
     $data = Input::all();
     if (array_key_exists('test_id', $data)) {
         $test = $data['test_id'];
         $questions = Pregunta::where('id_evaluacion', '=', $test)->get();
     } else {
         $questions = Pregunta::all();
     }
     return Response::json($questions);
 });
 // GET /api/grade
 Route::get('grade', function () {
     $data = Input::all();
     $test = $data['test_id'];
     $user = $data['user_id'];
     $grade = Calificacion::where('id_evaluacion', '=', $test)->where('id_usuario', '=', $user)->get();
     return Response::json($grade);
 });
 // POST /api/grade
 Route::post('grade', function () {
示例#3
0
 /**
  * Guarda una pregunta de un examen determinado
  *
  */
 public function guardarPregunta($idExamen)
 {
     $data = Input::all();
     try {
         $preguntas = Pregunta::where('examen', '=', $idExamen)->get();
         $sumaPunteo = 0;
         $sumaPorcentaje = 0;
         foreach ($preguntas as $pregunta) {
             $sumaPunteo += $pregunta->punteo;
             $sumaPorcentaje += $pregunta->porcentaje;
         }
         $pregunta = new Pregunta();
         $pregunta->examen = $idExamen;
         $pregunta->tipo_respuesta = $data['tipo_respuesta'];
         $pregunta->pregunta = $data['pregunta'];
         $pregunta->punteo = $data['punteo'];
         $pregunta->porcentaje = $data['porcentaje'];
         $pregunta->penalizacion = $data['penalizacion'];
         if ($data['tipo_respuesta'] == "directa") {
             $pregunta->respuesta_correcta = null;
         } else {
             if ($data['tipo_respuesta'] == "fv") {
                 $pregunta->respuesta_correcta = $data['respuesta'];
             } else {
                 $pregunta->respuesta_correcta = $data['respuesta_correcta'];
             }
         }
         if ($sumaPunteo + $pregunta->punteo <= 100 && $sumaPorcentaje + $pregunta->punporcentajeteo <= 100) {
             $pregunta->save();
             if ($data['tipo_respuesta'] == "sel_mul") {
                 $respuestasSelMult = explode(",", $data['respuestas']);
                 foreach ($respuestasSelMult as $opcion) {
                     $respuesta = new Respuesta();
                     $respuesta->respuesta = trim($opcion);
                     $pregunta->respuestas()->save($respuesta);
                 }
             }
             Session::flash('message', 'Pregunta creada correctamente');
             return Redirect::to('exam/preguntas/' . $idExamen);
         } else {
             Session::flash('error', 'No se pudo crear pregunta, suma de punteo o porcentaje mayor 100');
             return Redirect::to('exam/preguntas/' . $idExamen);
         }
     } catch (\Exception $exception) {
         Log::error(__METHOD__ . "-[" . $exception->getMessage() . "] " . $exception->getTraceAsString());
         Session::flash('error', 'Error al crear pregunta');
         return Redirect::to('exam/preguntas/' . $idExamen);
     }
 }
 public function getPreguntasQuiz()
 {
     $preguntas = Pregunta::where('id_evaluacion', '=', $this->id_evaluacion)->select('respuesta')->orderBy('id_pregunta', 'ASC')->get();
     return $preguntas;
 }
 public function metricasEncuestas()
 {
     $encuesta = UsuarioEncuesta::all();
     //Datos encuesta y lista preguntas
     // $encuesta = 1;
     $preguntas = Pregunta::where('idEncuesta', 1)->where('activo', 1)->join('tipo_dato', 'pregunta.tipo', '=', 'tipo_dato.id')->join('identificacion_preguntas as id_preg', 'pregunta.identificacion', '=', 'id_preg.id')->select('pregunta.id', 'pregunta.valor as valpregunta', 'pregunta.posicion as posicion', 'id_preg.valor as id_preg_valor', 'tipo_dato.valor as tipo_dato_valor')->orderBy('id', 'ASC')->get()->toArray();
     /**
      * @internal Tipos de respuesta:
      * @param text
      * @param null
      * @param Tsi-Tno-Tns/nc
      * @param e-mb-b-r-m-ns/nc
      * @param sub-text
      * @param comentario-acordeon
      * @param sub-mucho-poco-nada
      */
     $isnumeric = 0;
     $istext = 'A';
     foreach ($preguntas as $key => $val) {
         $respuestas = self::respuestas($val['id']);
         /**
          * @internal Prepend 0
          * Indentificador 
          */
         //numero
         if ($val['id_preg_valor'] == 'numero') {
             $isnumeric++;
             if ($isnumeric < 10) {
                 $preguntas[$key]['identificador'] = '0' . $isnumeric;
             } else {
                 $preguntas[$key]['identificador'] = $isnumeric;
             }
         } else {
             $preguntas[$key]['identificador'] = false;
         }
         //letra
         if ($val['id_preg_valor'] == 'letra') {
             if ($istext == 'A') {
                 $preguntas[$key]['identificadorText'] = $istext;
             } else {
                 $preguntas[$key]['identificadorText'] = $istext;
             }
             $istext++;
         } else {
             $preguntas[$key]['identificadorText'] = false;
         }
         /**
          * @internal Evaluo las opciones de respuesta
          */
         if ($val['tipo_dato_valor'] == "si-no") {
             /**
              * @internal Private static method si_no
              * @param  [Array ] $[respuestas] [Colleccion de respuestas]
              * Devuelve el count de las respuestas <SI> y <NO>
              */
             $preguntas[$key]['respuestas'] = self::si_no($respuestas);
         } elseif ($val['tipo_dato_valor'] == "text") {
             /**
              * @internal  Private static method value
              * @param  [Array ] $[respuestas] [Colleccion de respuestas]
              * @param  [String] $[keyset] [nombre del KEY que desea ser retornado por la colleccion]
              */
             $preguntas[$key]['respuestas'] = self::value($respuestas, 'valor');
             $preguntas[$key]['respuestas']['cantidad'] = count(self::value($respuestas, 'valor'));
         } elseif ($val['tipo_dato_valor'] == "e-mb-b-r-m-ns/nc") {
             /**
              * @internal  Private static method calification
              * @param  [Array ] $[respuestas] [Colleccion de respuestas]
              */
             $preguntas[$key]['respuestas'] = self::calificacion($respuestas);
         } elseif ($val['tipo_dato_valor'] == "sub-text") {
             /**
              * @internal  Private static method value
              * @param  [Array ] $[respuestas] [Colleccion de respuestas]
              * @param  [String] $[keyset] [nombre del KEY que desea ser retornado por la colleccion]
              */
             $preguntas[$key]['respuestas'] = self::value($respuestas, 'valor');
             $preguntas[$key]['respuestas']['cantidad'] = count(self::value($respuestas, 'valor'));
         } elseif ($val['tipo_dato_valor'] == "Tsi-Tno-Tns/nc") {
             /**
              * @internal  Private static method calification
              * @param  [Array ] $[respuestas] [Colleccion de respuestas]
              */
             $preguntas[$key]['respuestas'] = self::interesa($respuestas);
         } elseif ($val['tipo_dato_valor'] == 'sub-mucho-poco-nada') {
             $preguntas[$key]['respuestas'] = self::mpn($respuestas);
         } elseif ($val['tipo_dato_valor'] == "comentario-acordeon") {
             $preguntas[$key]['respuestas'] = self::value($respuestas, 'valor');
             $preguntas[$key]['respuestas']['cantidad'] = count(self::value($respuestas, 'valor'));
         }
         // $preguntas[$key]['respuestas'] =  Pregunta::find($val['id'])->respuestas()->get()->toArray();
     }
     return View::make('admin.metricas')->with('encuestas', $encuesta)->with('preguntas', self::toObject($preguntas));
 }