/app/controllers/deserciones_controller.php
PHP | 196 lines | 159 code | 21 blank | 16 comment | 25 complexity | 77b771615c6f90570edbdb642bce30c9 MD5 | raw file
- <?php
- class DesercionesController extends AppController {
-
- var $name = 'Deserciones';
- var $uses = array('Desercione','Estudiante', 'User','CirculosAprendizaje','UsersEquiposOperativo');
-
- function index($circulo=null) {
- $usuario_activo = $this->Access->getMy('username');
- //Verificacion de sesion del sistema
- if(!$usuario_activo){
- $this->Session->setFlash(__('Por favor inicie sesion', true));
- $this->redirect(array('controller'=>'users','action' => 'login'));
- }
- $group_id = $this->Access->getMy('group_id');
- $this->Desercione->recursive = 0;
- $desertores=$this->paginate('Desercione');
- $deserciones=array();
- foreach ($desertores as $desertor):
- $consulta_circulo=$this->Estudiante->find('first',array('conditions'=>array('Estudiante.id'=>$desertor['Desercione']['estudiante_id'])));
-
- if($consulta_circulo['Estudiante']['circulos_aprendizaje_id'] == $circulo){
- $desertor['Desercione']['nombre_estudiante']=$consulta_circulo['Estudiante']['nombre_completo'];
- $usuario = $this->User->find('first',array('conditions'=>array('User.id'=>$desertor['Desercione']['user_id'])));
- $usuario = $usuario['User']['nombre_completo'];
- $desertor['Desercione']['nombre_usuario']=$usuario;
- $deserciones[] = $desertor;
- }
- endforeach;
- $desertores=$this->paginate($deserciones);
- $circulo_nombre = $this->CirculosAprendizaje->find('first',array('fields'=>array('CirculosAprendizaje.nombre'),
- 'conditions'=>array('CirculosAprendizaje.id'=>$circulo)));
- $circulo_nombre = $circulo_nombre['CirculosAprendizaje']['nombre'];
-
- $this->set(compact('deserciones', 'circulo', 'circulo_nombre', 'group_id'));
- }
-
- function deserciones_circulos(){
- $usuario_activo = $this->Access->getMy('username');
- //Verificacion de sesion del sistema
- if(!$usuario_activo){
- $this->Session->setFlash(__('Por favor inicie sesion', true));
- $this->redirect(array('controller'=>'users','action' => 'login'));
- }
- $user_id = $this->Access->getMy('id');
- $group_id = $this->Access->getMy('group_id');
-
- $circulos_aprendizajes = array();
- //Si es diferente a Administador
- if($group_id!="1"){
-
- $user_eo = $this->UsersEquiposOperativo->find('first',array('conditions'=>array('UsersEquiposOperativo.group_id'=>$group_id, 'AND'=>array('UsersEquiposOperativo.user_id'=>$user_id))));
- //Si no hay users_equipo_operativo es TUTOR
- if($group_id=="2"){
- //$circulos_aprendizajes = $this->requestAction('/circulos_aprendizajes/getlist/0/'.$user_id);
- $circulos_aprendizajes = $this->paginate('CirculosAprendizaje',array('CirculosAprendizaje.user_id'=>$user_id));
- }
- else{//Coordinador
- //Listar los circulos pero con el parametro: EO.
- $circulos_aprendizajes = $this->paginate('CirculosAprendizaje',array('CirculosAprendizaje.equipos_operativo_id'=>$user_eo['UsersEquiposOperativo']['equipos_operativo_id']));
- //$circulos_aprendizajes = $this->requestAction('/circulos_aprendizajes/getlist/0/0/'.$user_eo['UsersEquiposOperativo']['equipos_operativo_id']);
- }
- }
- //Si es Administrador muestra todos los circulos
- else{
- //$circulos_aprendizajes = $this->requestAction('/circulos_aprendizajes/getlist/');
- $circulos_aprendizajes = $this->paginate('CirculosAprendizaje');
- }
- $this->set('circulos', $circulos_aprendizajes);
- $this->set(compact('user_id','group_id'));
- }
-
- function deserciones_estudiantes($circulo=null){
- $usuario_activo = $this->Access->getMy('username');
- //Verificacion de sesion del sistema
- if(!$usuario_activo){
- $this->Session->setFlash(__('Por favor inicie sesion', true));
- $this->redirect(array('controller'=>'users','action' => 'login'));
- }
- $estudiantes = $this->paginate('Estudiante', array('Estudiante.circulos_aprendizaje_id'=>$circulo,
- 'AND'=>array('Estudiante.desertado'=>'No','Estudiante.transferencia'=>'No')));
-
- $circulo_activo = $this->CirculosAprendizaje->find('first', array('conditions'=>array('CirculosAprendizaje.id'=>$circulo)));
-
- $circulo = array();
- $circulo['id'] = $circulo_activo['CirculosAprendizaje']['id'];
- $circulo['nombre'] = $circulo_activo['CirculosAprendizaje']['nombre'];
-
- $user_id = $this->Access->getMy('id');
- $group_id = $this->Access->getMy('group_id');
- $this->set(compact('user_id','group_id'));
- $this->set(compact('estudiantes', 'circulo'));
- }
-
-
- function view($id = null) {
- $usuario_activo = $this->Access->getMy('username');
- //Verificacion de sesion del sistema
- if(!$usuario_activo){
- $this->Session->setFlash(__('Por favor inicie sesion', true));
- $this->redirect(array('controller'=>'users','action' => 'login'));
- }
- if (!$id) {
- $this->Session->setFlash(__('Desercion Invalida', true));
- $this->redirect(array('action' => 'index'));
- }
- $this->set('desercione', $this->Desercione->read(null, $id));
- }
-
- function add($estudiante = null) {
- $usuario_activo = $this->Access->getMy('username');
- //Verificacion de sesion del sistema
- if(!$usuario_activo){
- $this->Session->setFlash(__('Por favor inicie sesion', true));
- $this->redirect(array('controller'=>'users','action' => 'login'));
- }
- if (!empty($this->data)) {
- $form = $this->data['Desercione'];
-
- //1. Modificar el estado del estudiante
- $this->Estudiante->id = $form['estudiante_id'];
- $this->Estudiante->saveField('desertado', 'Si');
-
- //2. Agrego el desertado.
- $this->Desercione->create();
- if ($this->Desercione->save($this->data)) {
- $this->Session->setFlash(__('Desercion Guardada.', true));
- $this->redirect(array('action' => 'deserciones_circulos',));
- } else {
- $this->Session->setFlash(__('La deserciĆ³n no fue guardada. Intente de nuevo.', true));
- }
- }
-
- $user_id = $this->Access->getMy('id');
- $group_id = $this->Access->getMy('group_id');
- $estudiantes = $this->Desercione->Estudiante->find('first',array('conditions'=>array('Estudiante.id'=>$estudiante)));
- $users = $this->Desercione->User->find('first',array('conditions'=>array('User.id'=>$user_id)));
- $this->set(compact('estudiantes', 'users', 'user_id', 'group_id'));
- }
-
- function edit($id = null) {
- $usuario_activo = $this->Access->getMy('username');
- //Verificacion de sesion del sistema
- if(!$usuario_activo){
- $this->Session->setFlash(__('Por favor inicie sesion', true));
- $this->redirect(array('controller'=>'users','action' => 'login'));
- }
- if (!$id && empty($this->data)) {
- $this->Session->setFlash(__('Desercion Invalida', true));
- $this->redirect(array('action' => 'index'));
- }
- if (!empty($this->data)) {
- $form = $this->data['Desercione'];
-
- if($form['activar'] == 1){
- $this->Estudiante->id = $form['estudiante_id'];
- $this->Estudiante->saveField('desertado', 'No');
- $this->delete($form['id']);
- }
-
- if ($this->Desercione->save($this->data)) {
- $this->Session->setFlash(__('Desercion Guardada', true));
- $this->redirect(array('action' => 'deserciones_circulos'));
- } else {
- $this->Session->setFlash(__('La deserciĆ³n no fue guardada. Intente de nuevo.', true));
- }
- }
- if (empty($this->data)) {
- $this->data = $this->Desercione->read(null, $id);
- }
- $user_id = $this->Access->getMy('id');
- $group_id = $this->Access->getMy('group_id');
- $users = $this->Desercione->User->find('first',array('conditions'=>array('User.id'=>$user_id)));
- $estudiantes = $this->Desercione->Estudiante->find('list');
- $this->set(compact('estudiantes', 'users', 'user_id', 'group_id'));
- }
-
- function delete($id = null) {
- $usuario_activo = $this->Access->getMy('username');
- //Verificacion de sesion del sistema
- if(!$usuario_activo){
- $this->Session->setFlash(__('Por favor inicie sesion', true));
- $this->redirect(array('controller'=>'users','action' => 'login'));
- }
- if (!$id) {
- $this->Session->setFlash(__('Desercion Invalida', true));
- $this->redirect(array('action'=>'index'));
- }
- if ($this->Desercione->delete($id)) {
- $this->Session->setFlash(__('Desercion eliminada', true));
- $this->redirect(array('action'=>'deserciones_circulos'));
- }
- $this->Session->setFlash(__('Desercion no eliminada', true));
- $this->redirect(array('action' => 'index'));
- }
- }
- ?>