PageRenderTime 46ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/app/controllers/deserciones_controller.php

http://learning-circles.googlecode.com/
PHP | 196 lines | 159 code | 21 blank | 16 comment | 25 complexity | 77b771615c6f90570edbdb642bce30c9 MD5 | raw file
  1. <?php
  2. class DesercionesController extends AppController {
  3. var $name = 'Deserciones';
  4. var $uses = array('Desercione','Estudiante', 'User','CirculosAprendizaje','UsersEquiposOperativo');
  5. function index($circulo=null) {
  6. $usuario_activo = $this->Access->getMy('username');
  7. //Verificacion de sesion del sistema
  8. if(!$usuario_activo){
  9. $this->Session->setFlash(__('Por favor inicie sesion', true));
  10. $this->redirect(array('controller'=>'users','action' => 'login'));
  11. }
  12. $group_id = $this->Access->getMy('group_id');
  13. $this->Desercione->recursive = 0;
  14. $desertores=$this->paginate('Desercione');
  15. $deserciones=array();
  16. foreach ($desertores as $desertor):
  17. $consulta_circulo=$this->Estudiante->find('first',array('conditions'=>array('Estudiante.id'=>$desertor['Desercione']['estudiante_id'])));
  18. if($consulta_circulo['Estudiante']['circulos_aprendizaje_id'] == $circulo){
  19. $desertor['Desercione']['nombre_estudiante']=$consulta_circulo['Estudiante']['nombre_completo'];
  20. $usuario = $this->User->find('first',array('conditions'=>array('User.id'=>$desertor['Desercione']['user_id'])));
  21. $usuario = $usuario['User']['nombre_completo'];
  22. $desertor['Desercione']['nombre_usuario']=$usuario;
  23. $deserciones[] = $desertor;
  24. }
  25. endforeach;
  26. $desertores=$this->paginate($deserciones);
  27. $circulo_nombre = $this->CirculosAprendizaje->find('first',array('fields'=>array('CirculosAprendizaje.nombre'),
  28. 'conditions'=>array('CirculosAprendizaje.id'=>$circulo)));
  29. $circulo_nombre = $circulo_nombre['CirculosAprendizaje']['nombre'];
  30. $this->set(compact('deserciones', 'circulo', 'circulo_nombre', 'group_id'));
  31. }
  32. function deserciones_circulos(){
  33. $usuario_activo = $this->Access->getMy('username');
  34. //Verificacion de sesion del sistema
  35. if(!$usuario_activo){
  36. $this->Session->setFlash(__('Por favor inicie sesion', true));
  37. $this->redirect(array('controller'=>'users','action' => 'login'));
  38. }
  39. $user_id = $this->Access->getMy('id');
  40. $group_id = $this->Access->getMy('group_id');
  41. $circulos_aprendizajes = array();
  42. //Si es diferente a Administador
  43. if($group_id!="1"){
  44. $user_eo = $this->UsersEquiposOperativo->find('first',array('conditions'=>array('UsersEquiposOperativo.group_id'=>$group_id, 'AND'=>array('UsersEquiposOperativo.user_id'=>$user_id))));
  45. //Si no hay users_equipo_operativo es TUTOR
  46. if($group_id=="2"){
  47. //$circulos_aprendizajes = $this->requestAction('/circulos_aprendizajes/getlist/0/'.$user_id);
  48. $circulos_aprendizajes = $this->paginate('CirculosAprendizaje',array('CirculosAprendizaje.user_id'=>$user_id));
  49. }
  50. else{//Coordinador
  51. //Listar los circulos pero con el parametro: EO.
  52. $circulos_aprendizajes = $this->paginate('CirculosAprendizaje',array('CirculosAprendizaje.equipos_operativo_id'=>$user_eo['UsersEquiposOperativo']['equipos_operativo_id']));
  53. //$circulos_aprendizajes = $this->requestAction('/circulos_aprendizajes/getlist/0/0/'.$user_eo['UsersEquiposOperativo']['equipos_operativo_id']);
  54. }
  55. }
  56. //Si es Administrador muestra todos los circulos
  57. else{
  58. //$circulos_aprendizajes = $this->requestAction('/circulos_aprendizajes/getlist/');
  59. $circulos_aprendizajes = $this->paginate('CirculosAprendizaje');
  60. }
  61. $this->set('circulos', $circulos_aprendizajes);
  62. $this->set(compact('user_id','group_id'));
  63. }
  64. function deserciones_estudiantes($circulo=null){
  65. $usuario_activo = $this->Access->getMy('username');
  66. //Verificacion de sesion del sistema
  67. if(!$usuario_activo){
  68. $this->Session->setFlash(__('Por favor inicie sesion', true));
  69. $this->redirect(array('controller'=>'users','action' => 'login'));
  70. }
  71. $estudiantes = $this->paginate('Estudiante', array('Estudiante.circulos_aprendizaje_id'=>$circulo,
  72. 'AND'=>array('Estudiante.desertado'=>'No','Estudiante.transferencia'=>'No')));
  73. $circulo_activo = $this->CirculosAprendizaje->find('first', array('conditions'=>array('CirculosAprendizaje.id'=>$circulo)));
  74. $circulo = array();
  75. $circulo['id'] = $circulo_activo['CirculosAprendizaje']['id'];
  76. $circulo['nombre'] = $circulo_activo['CirculosAprendizaje']['nombre'];
  77. $user_id = $this->Access->getMy('id');
  78. $group_id = $this->Access->getMy('group_id');
  79. $this->set(compact('user_id','group_id'));
  80. $this->set(compact('estudiantes', 'circulo'));
  81. }
  82. function view($id = null) {
  83. $usuario_activo = $this->Access->getMy('username');
  84. //Verificacion de sesion del sistema
  85. if(!$usuario_activo){
  86. $this->Session->setFlash(__('Por favor inicie sesion', true));
  87. $this->redirect(array('controller'=>'users','action' => 'login'));
  88. }
  89. if (!$id) {
  90. $this->Session->setFlash(__('Desercion Invalida', true));
  91. $this->redirect(array('action' => 'index'));
  92. }
  93. $this->set('desercione', $this->Desercione->read(null, $id));
  94. }
  95. function add($estudiante = null) {
  96. $usuario_activo = $this->Access->getMy('username');
  97. //Verificacion de sesion del sistema
  98. if(!$usuario_activo){
  99. $this->Session->setFlash(__('Por favor inicie sesion', true));
  100. $this->redirect(array('controller'=>'users','action' => 'login'));
  101. }
  102. if (!empty($this->data)) {
  103. $form = $this->data['Desercione'];
  104. //1. Modificar el estado del estudiante
  105. $this->Estudiante->id = $form['estudiante_id'];
  106. $this->Estudiante->saveField('desertado', 'Si');
  107. //2. Agrego el desertado.
  108. $this->Desercione->create();
  109. if ($this->Desercione->save($this->data)) {
  110. $this->Session->setFlash(__('Desercion Guardada.', true));
  111. $this->redirect(array('action' => 'deserciones_circulos',));
  112. } else {
  113. $this->Session->setFlash(__('La deserciĆ³n no fue guardada. Intente de nuevo.', true));
  114. }
  115. }
  116. $user_id = $this->Access->getMy('id');
  117. $group_id = $this->Access->getMy('group_id');
  118. $estudiantes = $this->Desercione->Estudiante->find('first',array('conditions'=>array('Estudiante.id'=>$estudiante)));
  119. $users = $this->Desercione->User->find('first',array('conditions'=>array('User.id'=>$user_id)));
  120. $this->set(compact('estudiantes', 'users', 'user_id', 'group_id'));
  121. }
  122. function edit($id = null) {
  123. $usuario_activo = $this->Access->getMy('username');
  124. //Verificacion de sesion del sistema
  125. if(!$usuario_activo){
  126. $this->Session->setFlash(__('Por favor inicie sesion', true));
  127. $this->redirect(array('controller'=>'users','action' => 'login'));
  128. }
  129. if (!$id && empty($this->data)) {
  130. $this->Session->setFlash(__('Desercion Invalida', true));
  131. $this->redirect(array('action' => 'index'));
  132. }
  133. if (!empty($this->data)) {
  134. $form = $this->data['Desercione'];
  135. if($form['activar'] == 1){
  136. $this->Estudiante->id = $form['estudiante_id'];
  137. $this->Estudiante->saveField('desertado', 'No');
  138. $this->delete($form['id']);
  139. }
  140. if ($this->Desercione->save($this->data)) {
  141. $this->Session->setFlash(__('Desercion Guardada', true));
  142. $this->redirect(array('action' => 'deserciones_circulos'));
  143. } else {
  144. $this->Session->setFlash(__('La deserciĆ³n no fue guardada. Intente de nuevo.', true));
  145. }
  146. }
  147. if (empty($this->data)) {
  148. $this->data = $this->Desercione->read(null, $id);
  149. }
  150. $user_id = $this->Access->getMy('id');
  151. $group_id = $this->Access->getMy('group_id');
  152. $users = $this->Desercione->User->find('first',array('conditions'=>array('User.id'=>$user_id)));
  153. $estudiantes = $this->Desercione->Estudiante->find('list');
  154. $this->set(compact('estudiantes', 'users', 'user_id', 'group_id'));
  155. }
  156. function delete($id = null) {
  157. $usuario_activo = $this->Access->getMy('username');
  158. //Verificacion de sesion del sistema
  159. if(!$usuario_activo){
  160. $this->Session->setFlash(__('Por favor inicie sesion', true));
  161. $this->redirect(array('controller'=>'users','action' => 'login'));
  162. }
  163. if (!$id) {
  164. $this->Session->setFlash(__('Desercion Invalida', true));
  165. $this->redirect(array('action'=>'index'));
  166. }
  167. if ($this->Desercione->delete($id)) {
  168. $this->Session->setFlash(__('Desercion eliminada', true));
  169. $this->redirect(array('action'=>'deserciones_circulos'));
  170. }
  171. $this->Session->setFlash(__('Desercion no eliminada', true));
  172. $this->redirect(array('action' => 'index'));
  173. }
  174. }
  175. ?>