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