SVN Alba r5052 - in prosistem/alba/trunk/alba/apps/principal/modules/feriado: actions config
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 }
participants (1)
-
commits@pressenter.com.ar