[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