[Alba-desarrollo] SVN Alba r5052 - in prosistem/alba/trunk/alba/apps/principal/modules/feriado: actions config

commits en pressenter.com.ar commits en pressenter.com.ar
Mie Sep 5 17:13:23 CEST 2007


Author: josx
Date: 2007-09-05 12:13:22 -0300 (Wed, 05 Sep 2007)
New Revision: 5052

Modified:
   prosistem/alba/trunk/alba/apps/principal/modules/feriado/actions/actions.class.php
   prosistem/alba/trunk/alba/apps/principal/modules/feriado/config/generator.yml
Log:
Mejora en la validacion de fechas en el feriado.



Modified: prosistem/alba/trunk/alba/apps/principal/modules/feriado/actions/actions.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/feriado/actions/actions.class.php	2007-09-05 14:59:35 UTC (rev 5051)
+++ prosistem/alba/trunk/alba/apps/principal/modules/feriado/actions/actions.class.php	2007-09-05 15:13:22 UTC (rev 5052)
@@ -43,61 +43,86 @@
     Sobreescribo la accion del generator porque nefecito que el combo 
     del ciclo lectivo sea dependiente de la session fk_establecimiento_id
 */
-  public function executeEdit ()                                                                    
-  {                                                                                                 
-    $this->feriado = $this->getFeriadoOrCreate();                    
-    
-    $criteria = new Criteria();                                                       
+  public function executeEdit ()
+  {
+    $this->feriado = $this->getFeriadoOrCreate();
+    $criteria = new Criteria();
     $criteria->add(CiclolectivoPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id'));
-    $cicloslectivos = CiclolectivoPeer::doSelect($criteria);                     
+    $cicloslectivos = CiclolectivoPeer::doSelect($criteria);
     $this->debugMessage(count($cicloslectivos));
-    $optionsCiclolectivo = array();                                                
-    foreach ($cicloslectivos as $ciclolectivo) {                                 
+    $optionsCiclolectivo = array();
+    foreach ($cicloslectivos as $ciclolectivo) {
         $optionsCiclolectivo[$ciclolectivo->getId()] = $ciclolectivo->getDescripcion();
-    }                                                                                 
-    asort($optionsCiclolectivo);                                                   
-    $this->optionsCiclolectivo = $optionsCiclolectivo;                          
-                                                                                                                 
-                                                                                                    
-    if ($this->getRequest()->getMethod() == sfRequest::POST)                                        
-    {                                                                                               
-      $this->feriado = $this->getFeriadoOrCreate();                                                 
-                                                                                                    
-      $this->updateFeriadoFromRequest();                                                            
-                                                                                                    
-      $this->saveFeriado($this->feriado);                                                           
-                                                                                                    
-      $this->setFlash('notice', 'Your modifications have been saved');                              
-                                                                                                    
-      if ($this->getRequestParameter('save_and_add'))                                               
-      {                                                                                             
-        return $this->redirect('feriado/create');                                                   
-      }                                                                                             
-      else                                                                                          
-      {                                                                                             
-        return $this->redirect('feriado/edit?id='.$this->feriado->getId());                         
-      }                                                                                             
-    }                                                                                               
-    else                                                                                            
-    {                                                                                               
-      // add javascripts                                                                            
-      $this->getResponse()->addJavascript(sfConfig::get('sf_prototype_web_dir').'/js/prototype');                         
-      $this->getResponse()->addJavascript(sfConfig::get('sf_admin_web_dir').'/js/collapse');                              
+    }
+    asort($optionsCiclolectivo);
+    $this->optionsCiclolectivo = $optionsCiclolectivo;
+
+    if ($this->getRequest()->getMethod() == sfRequest::POST)
+    {
+      $this->feriado = $this->getFeriadoOrCreate();
+      $this->updateFeriadoFromRequest();
+      $this->saveFeriado($this->feriado);
+      $this->setFlash('notice', 'Your modifications have been saved');
+      if ($this->getRequestParameter('save_and_add'))
+      {
+        return $this->redirect('feriado/create');
+      }
+      else
+      {
+        return $this->redirect('feriado/edit?id='.$this->feriado->getId());
+      }
+    }
+    else
+    {
+      // add javascripts
+      $this->getResponse()->addJavascript(sfConfig::get('sf_prototype_web_dir').'/js/prototype');
+      $this->getResponse()->addJavascript(sfConfig::get('sf_admin_web_dir').'/js/collapse');
       $this->labels = $this->getLabels();
-    }                                                                                               
-  }                                                                                                 
-           
-	protected function addFiltersCriteria($c) {                                                                                    
-		$c->add(FeriadoPeer::FK_CICLOLECTIVO_ID,$this->getUser()->getAttribute('fk_ciclolectivo_id'));
-    }                                                                                                   
+    }
+  }
 
+    protected function addFiltersCriteria($c) {
+        $c->add(FeriadoPeer::FK_CICLOLECTIVO_ID,$this->getUser()->getAttribute('fk_ciclolectivo_id'));
+    }
 
+
     function saveFeriado($feriado) {
         $feriado->setFkCiclolectivoId($this->getUser()->getAttribute('fk_ciclolectivo_id'));
         $feriado->save();
     }
 
-             
+  protected function updateFeriadoFromRequest()
+  {
+    $feriado = $this->getRequestParameter('feriado');
+
+    if (isset($feriado['nombre']))
+    {
+      $this->feriado->setNombre($feriado['nombre']);
+    }
+    if (isset($feriado['fecha']))
+    {
+      if ($feriado['fecha'])
+      {
+        try
+        {
+            list($d, $m, $y) = sfI18N::getDateForCulture($feriado['fecha'], $this->getUser()->getCulture());
+            $this->feriado->setFecha("$y-$m-$d");
+        }
+        catch (sfException $e)
+        {
+          // not a date
+        }
+      }
+      else
+      {
+        $this->feriado->setFecha(null);
+      }
+    }
+    $this->feriado->setRepeticionAnual(isset($feriado['repeticion_anual']) ? $feriado['repeticion_anual'] : 0);
+    $this->feriado->setInamovible(isset($feriado['inamovible']) ? $feriado['inamovible'] : 0);
+  }
+
+
 }
 
-?>
+?>
\ No newline at end of file

Modified: prosistem/alba/trunk/alba/apps/principal/modules/feriado/config/generator.yml
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/feriado/config/generator.yml	2007-09-05 14:59:35 UTC (rev 5051)
+++ prosistem/alba/trunk/alba/apps/principal/modules/feriado/config/generator.yml	2007-09-05 15:13:22 UTC (rev 5052)
@@ -5,7 +5,7 @@
     theme:            default
     fields:
         nombre: { name : Nombre, params: size=64}
-        fecha:  { params: date_format='dd/MM/yy'}        
+        fecha:  { params: date_format='dd/MM/yy' withtime=false }        
         repeticion_anual: { name: Anual, type: checkbox_tag }
         inamovible: { name: Inamovible, type: checkbox_tag }
 




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