[Alba-desarrollo] SVN Alba r6248 - in prosistem/alba/trunk/alba/apps/principal: config modules/ciclolectivo/actions modules/ciclolectivo/config modules/ciclolectivo/templates

commits en pressenter.com.ar commits en pressenter.com.ar
Mie Ago 5 20:18:30 CEST 2009


Author: ftoledo
Date: 2009-08-05 15:18:30 -0300 (Wed, 05 Aug 2009)
New Revision: 6248

Added:
   prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/templates/_edit_form.php
   prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/templates/_importarciclo.php
Modified:
   prosistem/alba/trunk/alba/apps/principal/config/routing.yml
   prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/actions/actions.class.php
   prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/config/generator.yml
Log:
copiar divisiones y rutrnos en la creacion del ciclio lectivo

Modified: prosistem/alba/trunk/alba/apps/principal/config/routing.yml
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/config/routing.yml	2009-07-28 15:34:34 UTC (rev 6247)
+++ prosistem/alba/trunk/alba/apps/principal/config/routing.yml	2009-08-05 18:18:30 UTC (rev 6248)
@@ -13,3 +13,4 @@
 
 default:
   url:   /:module/:action/*
+

Modified: prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/actions/actions.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/actions/actions.class.php	2009-07-28 15:34:34 UTC (rev 6247)
+++ prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/actions/actions.class.php	2009-08-05 18:18:30 UTC (rev 6248)
@@ -212,39 +212,107 @@
         $c->add(CiclolectivoPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id'));
      }
 
+ public function executeEdit($request)
+  {
+    $this->ciclolectivo = $this->getCiclolectivoOrCreate();
+
+    if ($request->isMethod('post'))
+    {
+      $this->updateCiclolectivoFromRequest();
+
+      try
+      {
+        $this->saveCiclolectivo($this->ciclolectivo);
+      }
+      catch (PropelException $e)
+      {
+        $request->setError('edit', 'Could not save the edited Ciclolectivos.');
+        return $this->forward('ciclolectivo', 'list');
+      }
+
+      $this->getUser()->setFlash('notice', 'Your modifications have been saved');
+
+      if ($this->getRequestParameter('save_and_add'))
+      {
+        return $this->redirect('ciclolectivo/create');
+      }
+      else if ($this->getRequestParameter('save_and_list'))
+      {
+        return $this->redirect('ciclolectivo/list');
+      }
+      else
+      {
+        return $this->redirect('ciclolectivo/edit?id='.$this->ciclolectivo->getId());
+      }
+    }
+    else
+    {
+      $this->labels = $this->getLabels();
+    }
+  }
+
+
     protected function saveCiclolectivo($ciclolectivo) {
         //si se guarda el ciclo y se marca como actual
-	//los demas ciclo del establecimiento tiene que quedar como ACUAL = false
+        //los demas ciclo del establecimiento tiene que quedar como ACUAL = false
 
-	$con = Propel::getConnection();
-	try {
-	    $con->beginTransaction();
-	    if ($ciclolectivo->getActual()) {
-            $c1 = new Criteria();
-            $c1->add(CiclolectivoPeer::FK_ESTABLECIMIENTO_ID,$this->getUser()->getAttribute('fk_establecimiento_id'));
-            $c2 = new Criteria();
-		    $c2->add(CiclolectivoPeer::ACTUAL,false);
-    		BasePeer::doUpdate($c1,$c2,$con);
-	    }
-        $ciclolectivo->setFkEstablecimientoId($this->getUser()->getAttribute('fk_establecimiento_id'));
-        $isNew = $ciclolectivo->isNew();
-        $ciclolectivo->save();
-	    $con->commit();
+        $con = Propel::getConnection();
+        try {
+            $con->beginTransaction();
+            if ($ciclolectivo->getActual()) {
+                $c1 = new Criteria();
+                $c1->add(CiclolectivoPeer::FK_ESTABLECIMIENTO_ID,$this->getUser()->getAttribute('fk_establecimiento_id'));
+                $c2 = new Criteria();
+                $c2->add(CiclolectivoPeer::ACTUAL,false);
+                BasePeer::doUpdate($c1,$c2,$con);
+            }
+            $ciclolectivo->setFkEstablecimientoId($this->getUser()->getAttribute('fk_establecimiento_id'));
+            $isNew = $ciclolectivo->isNew();
+            $ciclolectivo->save();
+            if($isNew) {
+                # Codigo para copiar las divisiones del ciclo lectivo actual al nuevo
+                # La consulta debe contemplar que lo haga desde el ciclo lectivo actual
+                if ($this->getRequestParameter('importar')) {
+                    $ciclo_actual = CiclolectivoPeer::retrieveByPk($this->getUser()->getAttribute('fk_ciclolectivo_id'));
+                    $this->logMessage('ciclo_actual: ' . $ciclo_actual, 'debug');
+                    //clonar turnos
+                    foreach ($ciclo_actual->getTurnos() as $turno) {
+                        $nt = new Turno();
+                        $nt->setFkCiclolectivoId($ciclolectivo->getId());
+                        $nt->setHoraInicio($turno->getHoraInicio());
+                        $nt->setHoraFin($turno->getHoraFin());
+                        $nt->setDescripcion($turno->getDescripcion());
+                        $nt->save();
+                        //clonar las divisiones
+                        foreach ($turno->getDivisions() as $division) {
+                            $this->logMessage('division: '. $division, 'debug');
 
-	    //cambio el attributo porque se cambio el ciclo actual
-	    $this->getUser()->setAttribute('fk_ciclolectivo_id',$ciclolectivo->getId());
-	    $this->getUser()->setAttribute('ciclolectivo_descripcion',$ciclolectivo->getDescripcion());
-	}
-	catch (Exception $e){
-	    $con->rollBack();
-	    throw $e;
-    }
+                            $nd = new Division();
+                            $nd->setFkAnioId($division->getFkAnioId());
+                            $nd->setDescripcion($division->getDescripcion());
+                            $nd->setFkTurnoId($nt->getId());
+                            $nd->setFkOrientacionId($division->getFkOrientacionId());
+                            $nd->setOrden($division->getOrden());
+                            $nd->save();
+                        }
+                    }
 
-    if($isNew) {
-            # Codigo para copiar las divisiones del ciclo lectivo actual al nuevo
-            # La consulta debe contemplar que lo haga desde el ciclo lectivo actual
-    }
+                }
+            }
 
+            $con->commit();
+            if ($ciclolectivo->getActual()) {
+                //cambio el attributo porque se cambio el ciclo actual
+                $this->getUser()->setAttribute('fk_ciclolectivo_id',$ciclolectivo->getId());
+                $this->getUser()->setAttribute('ciclolectivo_descripcion',$ciclolectivo->getDescripcion());
+            }
+
+        }
+        catch (Exception $e){
+            $con->rollBack();
+            throw $e;
+        }
+
     }
 
     /**

Modified: prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/config/generator.yml
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/config/generator.yml	2009-07-28 15:34:34 UTC (rev 6247)
+++ prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/config/generator.yml	2009-08-05 18:18:30 UTC (rev 6248)
@@ -3,7 +3,7 @@
   param:
     model_class:      Ciclolectivo
     theme:            default
-    
+
     fields:
         descripcion: {name: Descripción, params: size=64 }
         fecha_inicio: { params: date_format='dd/MM/yy' withtime=false }
@@ -15,8 +15,10 @@
             _edit: -
             _delete: -
             agregarTurnosYPeriodos:  { name: Definir Turnos y Períodos, action: agregarTurnosYPeriodos, icon: next.png }
-              
-        
+
     edit:
         title: Ciclo Lectivo
-        display: [ =descripcion, fecha_inicio, fecha_fin, actual ]
+        display: [ =descripcion, fecha_inicio, fecha_fin, actual]
+    new:
+        title: Ciclo Lectivo
+        display: [ =descripcion, fecha_inicio, fecha_fin, actual, _importarciclo ]

Added: prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/templates/_edit_form.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/templates/_edit_form.php	                        (rev 0)
+++ prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/templates/_edit_form.php	2009-08-05 18:18:30 UTC (rev 6248)
@@ -0,0 +1,90 @@
+<?php echo form_tag('ciclolectivo/save', array(
+  'id'        => 'sf_admin_edit_form',
+  'name'      => 'sf_admin_edit_form',
+  'multipart' => true,
+)) ?>
+
+<?php echo object_input_hidden_tag($ciclolectivo, 'getId') ?>
+
+<fieldset id="sf_fieldset_none" class="">
+
+<div class="form-row">
+  <?php echo label_for('ciclolectivo[descripcion]', __($labels['ciclolectivo{descripcion}']), 'class="required" ') ?>
+  <div class="content<?php if ($sf_request->hasError('ciclolectivo{descripcion}')): ?> form-error<?php endif; ?>">
+  <?php if ($sf_request->hasError('ciclolectivo{descripcion}')): ?>
+    <?php echo form_error('ciclolectivo{descripcion}', array('class' => 'form-error-msg')) ?>
+  <?php endif; ?>
+
+  <?php $value = object_input_tag($ciclolectivo, 'getDescripcion', array (
+  'size' => 64,
+  'control_name' => 'ciclolectivo[descripcion]',
+)); echo $value ? $value : '&nbsp;' ?>
+    </div>
+</div>
+
+<div class="form-row">
+  <?php echo label_for('ciclolectivo[fecha_inicio]', __($labels['ciclolectivo{fecha_inicio}']), 'class="required" ') ?>
+  <div class="content<?php if ($sf_request->hasError('ciclolectivo{fecha_inicio}')): ?> form-error<?php endif; ?>">
+  <?php if ($sf_request->hasError('ciclolectivo{fecha_inicio}')): ?>
+    <?php echo form_error('ciclolectivo{fecha_inicio}', array('class' => 'form-error-msg')) ?>
+  <?php endif; ?>
+
+  <?php $value = object_input_date_tag($ciclolectivo, 'getFechaInicio', array (
+  'rich' => true,
+  'withtime' => false,
+  'calendar_button_img' => '/sf/sf_admin/images/date.png',
+  'control_name' => 'ciclolectivo[fecha_inicio]',
+  'date_format' => 'dd/MM/yy',
+)); echo $value ? $value : '&nbsp;' ?>
+    </div>
+</div>
+
+<div class="form-row">
+  <?php echo label_for('ciclolectivo[fecha_fin]', __($labels['ciclolectivo{fecha_fin}']), 'class="required" ') ?>
+  <div class="content<?php if ($sf_request->hasError('ciclolectivo{fecha_fin}')): ?> form-error<?php endif; ?>">
+  <?php if ($sf_request->hasError('ciclolectivo{fecha_fin}')): ?>
+    <?php echo form_error('ciclolectivo{fecha_fin}', array('class' => 'form-error-msg')) ?>
+  <?php endif; ?>
+
+  <?php $value = object_input_date_tag($ciclolectivo, 'getFechaFin', array (
+  'rich' => true,
+  'withtime' => false,
+  'calendar_button_img' => '/sf/sf_admin/images/date.png',
+  'control_name' => 'ciclolectivo[fecha_fin]',
+  'date_format' => 'dd/MM/yy',
+)); echo $value ? $value : '&nbsp;' ?>
+    </div>
+</div>
+
+<div class="form-row">
+  <?php echo label_for('ciclolectivo[actual]', __($labels['ciclolectivo{actual}']), 'class="required" ') ?>
+  <div class="content<?php if ($sf_request->hasError('ciclolectivo{actual}')): ?> form-error<?php endif; ?>">
+  <?php if ($sf_request->hasError('ciclolectivo{actual}')): ?>
+    <?php echo form_error('ciclolectivo{actual}', array('class' => 'form-error-msg')) ?>
+  <?php endif; ?>
+
+  <?php $value = object_checkbox_tag($ciclolectivo, 'getActual', array (
+  'control_name' => 'ciclolectivo[actual]',
+)); echo $value ? $value : '&nbsp;' ?>
+    </div>
+</div>
+<?php if($sf_request->getParameter('action') == 'create' || $ciclolectivo->getId() == 0):?>
+    <div class="form-row">
+        <?php echo label_for('importarciclo', 'Importar divisiones', 'class="required" ') ?>
+        <?php include_partial('importarciclo')?>
+    </div>
+<?php endif;?>
+</fieldset>
+
+<?php include_partial('edit_actions', array('ciclolectivo' => $ciclolectivo)) ?>
+</form>
+
+<ul class="sf_admin_actions">
+      <li class="float-left"><?php if ($ciclolectivo->getId()): ?>
+<?php echo button_to(__('delete'), 'ciclolectivo/delete?id='.$ciclolectivo->getId(), array (
+  'post' => true,
+  'confirm' => __('Are you sure?'),
+  'class' => 'sf_admin_action_delete',
+)) ?><?php endif; ?>
+</li>
+  </ul>

Added: prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/templates/_importarciclo.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/templates/_importarciclo.php	                        (rev 0)
+++ prosistem/alba/trunk/alba/apps/principal/modules/ciclolectivo/templates/_importarciclo.php	2009-08-05 18:18:30 UTC (rev 6248)
@@ -0,0 +1,3 @@
+<?php echo checkbox_tag('importar')?>
+<br/><br/>
+(Esta opcion copiar&aacute; las divisiones del ciclo actual hacia el nuevo).




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