public function deshabilitar($id_profesorevaluacion)
 {
     View::select(null, 'json');
     $profesorevaluacion = new Profesorevaluacion();
     $data = $profesorevaluacion->find($id_profesorevaluacion);
     $data->habilitado = 0;
     if ($data->save()) {
         $this->data = true;
     } else {
         $this->data = false;
     }
 }
 public function grupo($profesorevaluacion_id, $profesorasignatura_id)
 {
     $this->profesorevaluacion_id = $profesorevaluacion_id;
     $this->alumnoevaluacion = new Alumnoevaluacion();
     $this->profesorasignatura_id = $profesorasignatura_id;
     $incripcionalumnoasignatura = new Incripcionalumnoasignatura();
     $this->alumnos = $incripcionalumnoasignatura->find("conditions: profesorasignatura_id = '{$profesorasignatura_id}'", "join: inner join alumno on incripcionalumnoasignatura.alumno_id = alumno.id", "columns: alumno.*,incripcionalumnoasignatura.id as incripcionalumnoasignatura_id");
     $profesorevaluacion = new Profesorevaluacion();
     if (Input::haspost("alumnoevaluacion")) {
         $alumnoevaluacion = new Alumnoevaluacion(Input::post("alumnoevaluacion"));
         $registro = $alumnoevaluacion->validarRepetida();
         if ($registro->ponderacion <= 20 and $registro->ponderacion >= 0) {
             # code...
             if ($registro->save()) {
                 Flash::valid("Registro Guardado");
                 Input::delete();
             } else {
                 Flash::error("Error guardando registro");
             }
         } else {
             Flash::error("La ponderacion debe ser mayor o igual a cero o menor o igual a 20");
         }
     }
     $this->alumnos = $incripcionalumnoasignatura->find("conditions: profesorasignatura_id = '{$profesorasignatura_id}'", "join: inner join alumno on incripcionalumnoasignatura.alumno_id = alumno.id", "columns: alumno.*,incripcionalumnoasignatura.id as incripcionalumnoasignatura_id");
     foreach ($this->alumnos as $key => $value) {
         $respuesta = $this->alumnoevaluacion->getPonderacionByIncripcionalumnoasignaturaIdYprofesorevaluacionId($value->incripcionalumnoasignatura_id, $this->profesorevaluacion_id);
         if ($respuesta === null) {
             $alumnoevaluacion_para_poner_en_cero = new Alumnoevaluacion();
             $alumnoevaluacion_para_poner_en_cero->ponderacion = 0;
             $alumnoevaluacion_para_poner_en_cero->incripcionalumnoasignatura_id = $value->incripcionalumnoasignatura_id;
             $alumnoevaluacion_para_poner_en_cero->profesorevaluacion_id = $this->profesorevaluacion_id;
             $alumnoevaluacion_para_poner_en_cero->save();
         }
     }
     $this->evaluacion = $profesorevaluacion->find($profesorevaluacion_id);
     /*este mecanismo lo aplique cuando me di cuenta que cuando se inscriben los alumnos en las evaluaciones del profesor
     		tengo que poner las notas de cada uno en cero. Como aqui es donde se hace, en esta accion, entonces redirijo obligatoriamente para aca
     		para que se haga y luego vuelvo a la anterior validando que no se repita el proceso con una variable de sesion*/
     if (isset($_SESSION['KUMBIA_AUTH_IDENTITY'][Config::get('config.application.namespace_auth')]['se_actualizaran_notas_a_cero'])) {
         unset($_SESSION['KUMBIA_AUTH_IDENTITY'][Config::get('config.application.namespace_auth')]['se_actualizaran_notas_a_cero']);
         $_SESSION['KUMBIA_AUTH_IDENTITY'][Config::get('config.application.namespace_auth')]['notas_puestas_en_cero'] = 1;
         Router::redirect("perfil/programarevaluaciones/{$profesorasignatura_id}");
     }
 }
 public function programarevaluaciones($profesorasignatura_id)
 {
     $this->titulo = "Programar asignatura";
     $profesorasignatura = new Profesorasignatura();
     $profesorevaluacion_lista = new Profesorevaluacion();
     $this->alumnoevaluacion = new Alumnoevaluacion();
     $this->profesorasignatura_id = $profesorasignatura_id;
     $this->asignatura = $profesorasignatura->getById($profesorasignatura_id);
     $this->notasalumnos = $profesorasignatura->getNotasAsignaturaConAlumnosByProfesorAsignaturaId($profesorasignatura_id);
     if (Input::haspost("profesorevaluacion")) {
         $inputs = Input::post("profesorevaluacion");
         if ($profesorevaluacion_lista->esvalidaporcentaje($profesorasignatura_id, $inputs['porcentaje'])) {
             $profesorevaluacion = new Profesorevaluacion(Input::post("profesorevaluacion"));
             if ($profesorevaluacion->save()) {
                 Flash::valid("Evaluacion programada");
                 unset($_SESSION['KUMBIA_AUTH_IDENTITY'][Config::get('config.application.namespace_auth')]['notas_puestas_en_cero']);
                 //var_dump($_SESSION['KUMBIA_AUTH_IDENTITY'][Config::get('config.application.namespace_auth')]);
                 //die;
             } else {
                 Flash::error("Evaluacion no guardada");
             }
         }
     }
     $this->evaluaciones = $profesorevaluacion_lista->find("conditions: profesorasignatura_id = '{$profesorasignatura_id}'");
     if ($this->evaluaciones and !isset($_SESSION['KUMBIA_AUTH_IDENTITY'][Config::get('config.application.namespace_auth')]['notas_puestas_en_cero'])) {
         foreach ($this->evaluaciones as $key => $value) {
             $_SESSION['KUMBIA_AUTH_IDENTITY'][Config::get('config.application.namespace_auth')]['se_actualizaran_notas_a_cero'] = 1;
             Router::redirect("calificar/grupo/{$value->id}/{$value->profesorasignatura_id}");
         }
     }
 }