[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 : ' ' ?>
+ </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 : ' ' ?>
+ </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 : ' ' ?>
+ </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 : ' ' ?>
+ </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á las divisiones del ciclo actual hacia el nuevo).
Más información sobre la lista de distribución Alba-desarrollo