[Alba-desarrollo] SVN Alba r4715 - prosistem/alba/trunk/alba/apps/principal/modules/asistencia/actions

commits en pressenter.com.ar commits en pressenter.com.ar
Mie Jun 6 22:56:13 CEST 2007


Author: hsanchez
Date: 2007-06-06 17:56:13 -0300 (Wed, 06 Jun 2007)
New Revision: 4715

Modified:
   prosistem/alba/trunk/alba/apps/principal/modules/asistencia/actions/actions.class.php
Log:
Correccion del combo divisiones en asistencia cuando ingreso desde el alumno Ticket: #224

Modified: prosistem/alba/trunk/alba/apps/principal/modules/asistencia/actions/actions.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/asistencia/actions/actions.class.php	2007-06-06 20:34:49 UTC (rev 4714)
+++ prosistem/alba/trunk/alba/apps/principal/modules/asistencia/actions/actions.class.php	2007-06-06 20:56:13 UTC (rev 4715)
@@ -37,14 +37,12 @@
         $this->vista = $this->getRequestParameter('vista');
     }
 
-    
     /**
     * Executes index action
     *
     */
     public function executeIndex() {
         
-
         Misc::use_helper('Misc');
         
         //Iniciando Variables
@@ -67,8 +65,8 @@
 
         if ($this->getUser()->getAttribute('fk_ciclolectivo_id') == 0)
             return $this->redirect('ciclolectivo/sinciclolectivo?m=' . $this->getRequestParameter('module'));
-        // tomando los datos del formulario y completando variable
         
+        // tomando los datos del formulario y completando variable
         $ciclolectivo_id = $this->getUser()->getAttribute('fk_ciclolectivo_id');       
         $ciclolectivo = CiclolectivoPeer::retrieveByPK($ciclolectivo_id);
 
@@ -81,16 +79,16 @@
         $m = $aFechaActual['mon'];
         $y = $aFechaActual['year'];
 
-        
         // tomo el año de la fecha de inicio y de fin del ciclo lectivo
         $anio_desde = date("Y",$ciclolectivo_fecha_inicio);
         $anio_hasta = date("Y",$ciclolectivo_fecha_fin);
         
-
         if ($this->getRequestParameter('alumno_id')) {
             $alumno_id = $this->getRequestParameter('alumno_id');   
             $a = AlumnoPeer::retrieveByPK($alumno_id);
             $cuenta_id = $a->getFkCuentaId();
+            
+            //$a->getRelAlumnoDivisions()
         }
 
 
@@ -110,47 +108,44 @@
             $y = $this->getRequestParameter('ano');
         }
 
-
         $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id');
 
         $criteria = new Criteria();
         $criteria->add(AnioPeer::FK_ESTABLECIMIENTO_ID, $establecimiento_id);
-        $criteria->addAscendingOrderByColumn(AnioPeer::DESCRIPCION);           
-        $criteria->addAscendingOrderByColumn(DivisionPeer::ORDEN);           
-        $criteria->addAscendingOrderByColumn(DivisionPeer::DESCRIPCION);           
+        
+        
+        if ($this->getRequestParameter('alumno_id')){
+            $criteria->add(RelAlumnoDivisionPeer::FK_ALUMNO_ID, $alumno_id);
+            $criteria->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID );
+        }
+
+        $criteria->addAscendingOrderByColumn(AnioPeer::DESCRIPCION);
+        $criteria->addAscendingOrderByColumn(DivisionPeer::ORDEN);     
+        $criteria->addAscendingOrderByColumn(DivisionPeer::DESCRIPCION);
         $divisiones = DivisionPeer::doSelectJoinAnio($criteria);        // divisiones a mostrar
 
-        foreach ($divisiones as $division) {
+        foreach ($divisiones as $division)
              $optionsDivision[$division->getId()] = $division->getAnio()->getDescripcion()." ".$division->getDescripcion();        
-        }
 
-
         if ($this->getRequestParameter('division_id')) {
             $division_id = $this->getRequestParameter('division_id');    
         } else {
-            if ($this->getRequestParameter('alumno_id')) {
-                $division_id = 1;
+            if (count($optionsDivision) > 0){
+                $aTemp = array_keys($optionsDivision);        
+                $division_id = $aTemp[0];
             } else {
-                if (count($optionsDivision) > 0){
-                    $aTemp = array_keys($optionsDivision);        
-                    $division_id = $aTemp[0];
-                } else {
-                    // Ver si se puede hacer desde el validate
-                    $this->getRequest()->setError('Division', 'No hay Ninguna División cargada');
-                    $flag_error = 1;
-                }
-            }     
+                // Ver si se puede hacer desde el validate
+                $this->getRequest()->setError('Division', 'No hay Ninguna División cargada');
+                $flag_error = 1;
+            }
         }
 
-
         if(!checkdate($m,$d,$y)) {
             // Ver si se puede hacer desde el validate
             $this->getRequest()->setError('Fecha', 'La fecha ingresada es erronea');
             $flag_error = 1;
         } 
 
-
-
         if($flag_error == 0) {
             // devuelve un intervalo de dias según vista y fecha seleccionada
             $aIntervalo = diasxintervalo($d, $m, $y, $vista_id);  
@@ -165,7 +160,6 @@
             $aIntervalo = $aFechaTemp;
         }
 
-
         // obteniendo los feriados actuales
         $criteria = new Criteria();
         $feriados = FeriadoPeer::doSelect($criteria);        
@@ -173,7 +167,6 @@
             $aFeriado[$feriado->getFecha()] = $feriado->getNombre(); 
         }
 
-
         // esto deberia estar hecho muy diferente guardar en un /tmp con archivo aleatorio
         if(file_exists(sfConfig::get('sf_upload_dir_name').'/grafico_asistencias.png'))
             unlink(sfConfig::get('sf_upload_dir_name').'/grafico_asistencias.png');
@@ -227,7 +220,6 @@
             $flag = 0;
             $tot = 0;
 
-
             // cantidad de fechas sin fines de semana
             $cantFechas = 0;
             foreach($aIntervalo as $fecha) {




Más información sobre la lista de distribución Alba-desarrollo