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)); }
$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 () {
/** * 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)); }