[Alba-desarrollo] SVN Alba r4601 - in prosistem/alba/trunk/alba: apps/principal/modules/evento/actions apps/principal/modules/evento/templates apps/principal/modules/informes/templates apps/principal/modules/relDivisionActividadDocente apps/principal/modules/relDivisionActividadDocente/actions apps/principal/modules/relDivisionActividadDocente/config apps/principal/modules/relDivisionActividadDocente/templates apps/principal/modules/relDivisionActividadDocente/validate config data/sql lib/model lib/model/map lib/model/om

commits en pressenter.com.ar commits en pressenter.com.ar
Mie Mayo 2 21:44:28 CEST 2007


Author: josx
Date: 2007-05-02 16:44:12 -0300 (Wed, 02 May 2007)
New Revision: 4601

Added:
   prosistem/alba/trunk/alba/apps/principal/modules/evento/templates/_carga_evento.php
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_actions.php
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_footer.php
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_form.php
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_header.php
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_messages.php
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/editSuccess.php
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/validate/
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/validate/edit.yml
Removed:
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_hora_fin.php
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_hora_inicio.php
Modified:
   prosistem/alba/trunk/alba/apps/principal/modules/evento/actions/actions.class.php
   prosistem/alba/trunk/alba/apps/principal/modules/informes/templates/certificadoEstudiosBusquedaFormularioSuccess.php
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/actions/actions.class.php
   prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/config/generator.yml
   prosistem/alba/trunk/alba/config/schema.xml
   prosistem/alba/trunk/alba/data/sql/actualizacion_1.0rc_a_1.0.sql
   prosistem/alba/trunk/alba/data/sql/schema.sql
   prosistem/alba/trunk/alba/lib/model/Evento.php
   prosistem/alba/trunk/alba/lib/model/map/RelDivisionActividadDocenteMapBuilder.php
   prosistem/alba/trunk/alba/lib/model/om/BaseActividad.php
   prosistem/alba/trunk/alba/lib/model/om/BaseDivision.php
   prosistem/alba/trunk/alba/lib/model/om/BaseDocente.php
   prosistem/alba/trunk/alba/lib/model/om/BaseEvento.php
   prosistem/alba/trunk/alba/lib/model/om/BaseRelDivisionActividadDocente.php
   prosistem/alba/trunk/alba/lib/model/om/BaseRelDivisionActividadDocentePeer.php
   prosistem/alba/trunk/alba/lib/model/om/BaseRepeticion.php
Log:
Sumamos a la carga manual la carga de eventos en relDivisionActividadDocente

Modified: prosistem/alba/trunk/alba/apps/principal/modules/evento/actions/actions.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/evento/actions/actions.class.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/evento/actions/actions.class.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -33,6 +33,11 @@
 class eventoActions extends sfActions
 {
 
+    public function preExecute() {
+        $this->vista = $this->getRequestParameter('vista');
+    }
+
+
     public function executeIndex() {
         return $this->forward('evento', 'edit');
 //         $this->evento = new Evento();
@@ -56,6 +61,8 @@
             $this->updateEventoFromRequest();
             $this->saveEvento($this->evento);
             $this->setFlash('notice', 'Your modifications have been saved');
+            return $this->redirect('evento/');
+            /*
             if ($this->getRequestParameter('save_and_add')) {
                 return $this->redirect('evento/create');
             } else if ($this->getRequestParameter('save_and_list')) {
@@ -63,6 +70,8 @@
             } else {
                 return $this->redirect('evento/edit?id='.$this->evento->getId());
             }
+            */
+
         } else {
 //             $this->labels = $this->getLabels();
         }

Added: prosistem/alba/trunk/alba/apps/principal/modules/evento/templates/_carga_evento.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/evento/templates/_carga_evento.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/evento/templates/_carga_evento.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -0,0 +1,320 @@
+<?php 
+
+    use_helper('I18N','Object','Validation'); 
+    $hora_fin = "";
+    $hora_inicio = "";
+    $seleccion_4 = true;
+    $seleccion_5 = $seleccion_6 = $seleccion_7 = $hora_asociada = $activar_repeticion = false;
+    $mostrar_div_anual = $mostrar_div_mensual = $mostrar_div_semana = $mostrar_div_diaria = "display:none";
+    $recurrencia_fin_fecha  = '';
+    $recurrencia_fin_repeticion = '';
+    $recurrencia_fin_0 = true;
+    $recurrencia_fin_1 = false;
+    $recurrencia_fin_2 = false;
+    $numero_binario = "0000000";
+    
+    if($evento->getId()) {
+        $hora_inicio = date( "H:i" , strtotime($evento->getFechaInicio()));
+        $hora_fin = date( "H:i" , strtotime($evento->getFechaFin()));
+
+        if($hora_inicio == "00:00" AND $hora_fin == "00:00")  {
+            $hora_asociada = false;
+        } else {
+            $hora_asociada = true;
+        }
+        
+        switch($evento->getFrecuencia()) {
+            case '0': $activar_repeticion = false; break;
+            case '4': $activar_repeticion = true; $seleccion_4 = true; $seleccion_5 = $seleccion_6 = $seleccion_7 = false; $mostrar_div_diaria = ""; break;
+            case '5': $activar_repeticion = true; $seleccion_5 = true; $seleccion_4 = $seleccion_6 = $seleccion_7 = false; $mostrar_div_semana = ""; break;
+            case '6': $activar_repeticion = true; $seleccion_6 = true; $seleccion_5 = $seleccion_4 = $seleccion_7 = false; $mostrar_div_mensual = ""; break;
+            case '7': $activar_repeticion = true; $seleccion_7 = true; $seleccion_5 = $seleccion_6 = $seleccion_4 = false; $mostrar_div_anual = ""; break;
+        }
+        
+        
+        if($evento->getRecurrenciaFin() != "") {
+            if(is_numeric($evento->getRecurrenciaFin())) {
+                $recurrencia_fin_fecha  = '';
+                $recurrencia_fin_repeticion = $evento->getRecurrenciaFin();            
+                $recurrencia_fin_2 = $recurrencia_fin_0 = false;
+                $recurrencia_fin_1 = true;
+            } else {
+                $dateFormat = new sfDateFormat($sf_user->getCulture());
+                $value = $dateFormat->format($evento->getRecurrenciaFin()." 00:00:00", 'I', $dateFormat->getInputPattern('g'));
+
+                $recurrencia_fin_fecha  = $value;
+                $recurrencia_fin_repeticion = '';            
+                $recurrencia_fin_2 = true;
+                $recurrencia_fin_0 = $recurrencia_fin_1 = false;
+            }
+        } 
+            
+
+             $numero_binario = str_pad(decbin($evento->getRecurrenciaDias()), 7, "0", STR_PAD_LEFT);
+        
+
+
+    }
+?>
+
+<script type="text/javascript">
+    function cambiarDeEstado(element) {
+        if (document.getElementById(element).disabled == true)
+            document.getElementById(element).disabled=false;
+        else
+            document.getElementById(element).disabled=true;
+    }
+
+
+    function HabilitaDeshabilitaHora() {
+        cambiarDeEstado('evento_hora_inicio_hour');
+        cambiarDeEstado('evento_hora_inicio_minute');
+        cambiarDeEstado('evento_hora_inicio_ampm');
+        cambiarDeEstado('evento_hora_fin_hour');
+        cambiarDeEstado('evento_hora_fin_minute');
+        cambiarDeEstado('evento_hora_fin_ampm');
+    }
+
+
+    function HabilitaDeshabilitaRepeticion() {
+        cambiarDeEstado('evento_frecuencia_7');
+        cambiarDeEstado('evento_frecuencia_6');
+        cambiarDeEstado('evento_frecuencia_5');
+        cambiarDeEstado('evento_frecuencia_4');
+        cambiarDeEstado('evento_recurrencia_fin_tipo_0');
+        cambiarDeEstado('evento_recurrencia_fin_tipo_1');
+        cambiarDeEstado('evento_recurrencia_fin_tipo_2');
+        deshabilitaRangoFrecuencia();
+        deshabilitaReglas();
+
+        if(document.getElementById('evento_frecuencia_7').disabled == false && document.getElementById('evento_frecuencia_7').checked == true) {
+            mostrarRegla('anual');
+        }
+
+        if(document.getElementById('evento_frecuencia_6').disabled == false && document.getElementById('evento_frecuencia_6').checked == true) {
+            mostrarRegla('mensual');
+        }
+
+        if(document.getElementById('evento_frecuencia_5').disabled == false && document.getElementById('evento_frecuencia_5').checked == true) {
+            mostrarRegla('semana');
+        }
+
+        if(document.getElementById('evento_frecuencia_4').disabled == false && document.getElementById('evento_frecuencia_4').checked == true) {
+            mostrarRegla('diaria');
+        }
+
+        if(document.getElementById('evento_recurrencia_fin_tipo_1').disabled == false && document.getElementById('evento_recurrencia_fin_tipo_1').checked == true) {
+            HabilitaDeshabilitaRangoFrecuencia('evento_recurrencia_fin_repeticion');
+        }
+
+        if(document.getElementById('evento_recurrencia_fin_tipo_2').disabled == false && document.getElementById('evento_recurrencia_fin_tipo_2').checked == true) {
+            HabilitaDeshabilitaRangoFrecuencia('evento_recurrencia_fin_fecha');
+        }
+
+    }
+
+    
+    function HabilitaDeshabilitaRangoFrecuencia(element) {
+        deshabilitaRangoFrecuencia();
+        document.getElementById(element).disabled=false;
+    }
+
+    function deshabilitaRangoFrecuencia() {
+        document.getElementById('evento_recurrencia_fin_repeticion').disabled=true;
+        document.getElementById('evento_recurrencia_fin_fecha').disabled=true;
+    }
+
+    function mostrarRegla(element) {
+        deshabilitaReglas();
+        document.getElementById(element).style.display = '';
+        document.getElementById('evento_recurrencia_dias_0').disabled = false;
+        document.getElementById('evento_recurrencia_dias_1').disabled = false;
+        document.getElementById('evento_recurrencia_dias_2').disabled = false;
+        document.getElementById('evento_recurrencia_dias_3').disabled = false;
+        document.getElementById('evento_recurrencia_dias_4').disabled = false;
+        document.getElementById('evento_recurrencia_dias_5').disabled = false;
+        document.getElementById('evento_recurrencia_dias_6').disabled = false;
+
+        if(element == 'diaria') {
+            document.getElementById('evento_frecuencia_intervalo_diaria').disabled = false;
+            document.getElementById('evento_frecuencia_intervalo_semana').disabled = true; 
+        } 
+
+        if(element == 'semana') {
+            document.getElementById('evento_frecuencia_intervalo_diaria').disabled = true;
+            document.getElementById('evento_frecuencia_intervalo_semana').disabled = false;
+        }
+
+    }
+
+    function deshabilitaReglas() {
+        document.getElementById('anual').style.display = 'none';
+        document.getElementById('mensual').style.display = 'none';
+        document.getElementById('semana').style.display = 'none';
+        document.getElementById('diaria').style.display = 'none';
+
+        document.getElementById('evento_recurrencia_dias_0').disabled = true;
+        document.getElementById('evento_recurrencia_dias_1').disabled = true;
+        document.getElementById('evento_recurrencia_dias_2').disabled = true;
+        document.getElementById('evento_recurrencia_dias_3').disabled = true;
+        document.getElementById('evento_recurrencia_dias_4').disabled = true;
+        document.getElementById('evento_recurrencia_dias_5').disabled = true;
+        document.getElementById('evento_recurrencia_dias_6').disabled = true;
+        document.getElementById('evento_frecuencia_intervalo_diaria').disabled = true;
+        document.getElementById('evento_frecuencia_intervalo_semana').disabled = true;
+    }   
+
+
+</script>
+
+<div id="sf_admin_container">
+<!-- <h1>Evento </h1> -->
+<!--
+ <?php if ($sf_request->hasErrors()): ?>
+    <div class="form-errors">
+        <h2><?php echo __('There are some errors that prevent the form to validate') ?></h2>
+        <ul>
+            <?php foreach ($sf_request->getErrorNames() as $name): ?>
+              <li><?php echo $sf_request->getError($name) ?></li>
+            <?php endforeach; ?>
+        </ul>
+    </div>
+    <?php elseif ($sf_flash->has('notice')): ?>
+    <div class="save-ok">
+        <h2><?php echo __($sf_flash->get('notice')) ?></h2>
+    </div>
+    <?php endif; ?>
+
+
+<?php echo form_tag('evento/edit', 'id=sf_admin_edit_form name=sf_admin_edit_form multipart=true') ?>
+-->
+<fieldset id="sf_fieldset_index" class="">
+<!--
+            <div class="form-row">
+              <?php echo label_for('evento[titulo]', __('Titulo:'), 'class="required" ') ?>
+              <div class="content<?php if ($sf_request->hasError('evento{titulo}')): ?> form-error<?php endif; ?>">
+              <?php if ($sf_request->hasError('evento{titulo}')): ?>
+                <?php echo form_error('evento{titulo}', array('class' => 'form-error-msg')) ?>
+              <?php endif; ?>
+
+              <?php echo object_input_tag($evento, 'getTitulo', array (
+              'size' => 64,
+              'control_name' => 'evento[titulo]',
+            )) ?>
+                </div>
+            </div>
+-->
+            <h2><?php echo __('Fecha y Hora') ?></h2>
+
+             <div class="form-row">
+              <?php echo label_for('evento[fecha_inicio]', __('Inicio:'), 'class="required" ') ?>
+              <div class="content<?php if ($sf_request->hasError('evento{fecha_inicio}')): ?> form-error<?php endif; ?>">
+              <?php if ($sf_request->hasError('evento{fecha_inicio}')): ?>
+                <?php echo form_error('evento{fecha_inicio}', array('class' => 'form-error-msg')) ?>
+              <?php endif; ?>
+
+              <?php echo object_input_date_tag($evento, 'getFechaInicio', array (
+              'rich' => true,
+//              'withtime' => true,
+              'calendar_button_img' => sfConfig::get('sf_admin_web_dir').'/images/date.png',
+              'control_name' => 'evento[fecha_inicio]',
+            )) ?>
+                &nbsp;&nbsp;&nbsp;
+                <?php include_partial('evento/hora_inicio', array ('evento' => $evento,  'hora_inicio' => $hora_inicio, 'hora_asociada' => $hora_asociada ));?>
+                </div>
+            </div>
+
+
+             <div class="form-row">
+              <?php echo label_for('evento[fecha_fin]', __('Fin:'), 'class="required" ') ?>
+              <div class="content<?php if ($sf_request->hasError('evento{fecha_fin}')): ?> form-error<?php endif; ?>">
+              <?php if ($sf_request->hasError('evento{fecha_fin}')): ?>
+                <?php echo form_error('evento{fecha_fin}', array('class' => 'form-error-msg')) ?>
+              <?php endif; ?>
+
+              <?php echo object_input_date_tag($evento, 'getFechaFin', array (
+              'rich' => true,
+//              'withtime' => true,
+              'calendar_button_img' => sfConfig::get('sf_admin_web_dir').'/images/date.png',
+              'control_name' => 'evento[fecha_fin]',
+            )) ?>
+                &nbsp;&nbsp;&nbsp;
+                <?php include_partial('evento/hora_fin', array ('evento' => $evento, 'hora_fin' => $hora_fin, 'hora_asociada' => $hora_asociada ));?>
+                </div>
+             </div>
+            
+        <div class="form-row">
+            <?php echo label_for('hora_asociada', __('Hora asociada:')) ?>
+            <div class="content">
+                <?php echo checkbox_tag('evento[hora_asociada]', 1, $hora_asociada , array('onChange'=>'javascrip:HabilitaDeshabilitaHora();')) ?>                
+            </div>
+        </div>
+
+
+        
+        <br>
+        
+        <h2>
+        <?php echo __('Activar Repetición') ?>
+        <?php echo checkbox_tag('evento[activar_repeticion]', 1, $activar_repeticion, array('onChange'=>'javascrip:HabilitaDeshabilitaRepeticion();')) ?>                
+        </h2>       
+        
+        <h4>Regla de recurrencia</h4>
+        
+        <div class="form-row">
+        <?php echo radiobutton_tag('evento[frecuencia][]', '4', $seleccion_4, array('disabled' => !$activar_repeticion, 'onChange' => 'javascript:mostrarRegla(\'diaria\')') ) ?>Diaria&nbsp;&nbsp;
+        <?php echo radiobutton_tag('evento[frecuencia][]', '5', $seleccion_5, array('disabled' => !$activar_repeticion, 'onChange' => 'javascript:mostrarRegla(\'semana\')')) ?>Semanal&nbsp;&nbsp;
+        <?php echo radiobutton_tag('evento[frecuencia][]', '6', $seleccion_6, array('disabled' => !$activar_repeticion, 'onChange' => 'javascript:mostrarRegla(\'mensual\')')) ?>Mensual&nbsp;&nbsp;
+        <?php echo radiobutton_tag('evento[frecuencia][]', '7', $seleccion_7, array('disabled' => !$activar_repeticion, 'onChange' => 'javascript:mostrarRegla(\'anual\')')) ?>Anual&nbsp;&nbsp;
+        </div>
+
+        <div class="form-row" id="diaria" style="<?php echo $mostrar_div_diaria; ?>">
+            Repetir cada <?php echo object_input_tag($evento, 'getFrecuenciaIntervalo', array('disabled' => !$seleccion_4, 'maxlength' => 3, 'size' => 3, 'control_name' => 'evento[frecuencia_intervalo_diaria]' )); ?> d&iacute;a(s)
+        </div>
+
+        <div class="form-row" id="semana" style="<?php echo $mostrar_div_semana?>">
+            Repetir cada <?php echo object_input_tag($evento, 'getFrecuenciaIntervalo', array('disabled' => !$seleccion_5, 'maxlength' => 3, 'size' => 3, 'control_name' => 'evento[frecuencia_intervalo_semana]')); ?> semana(s)<br><br>
+
+            <?php echo checkbox_tag('evento[recurrencia_dias][]', '0', ($numero_binario[6])?true:false, array('disabled' => !$seleccion_5) ) ?>Domingo&nbsp;&nbsp;
+            <?php echo checkbox_tag('evento[recurrencia_dias][]', '1', ($numero_binario[5])?true:false, array('disabled' => !$seleccion_5) ) ?>Lunes&nbsp;&nbsp;
+            <?php echo checkbox_tag('evento[recurrencia_dias][]', '2', ($numero_binario[4])?true:false, array('disabled' => !$seleccion_5) ) ?>Martes&nbsp;&nbsp;
+            <?php echo checkbox_tag('evento[recurrencia_dias][]', '3', ($numero_binario[3])?true:false, array('disabled' => !$seleccion_5) ) ?>Miercoles&nbsp;&nbsp;
+            <?php echo checkbox_tag('evento[recurrencia_dias][]', '4', ($numero_binario[2])?true:false, array('disabled' => !$seleccion_5) ) ?>Jueves&nbsp;&nbsp;
+            <?php echo checkbox_tag('evento[recurrencia_dias][]', '5', ($numero_binario[1])?true:false, array('disabled' => !$seleccion_5) ) ?>Viernes&nbsp;&nbsp;
+            <?php echo checkbox_tag('evento[recurrencia_dias][]', '6', ($numero_binario[0])?true:false, array('disabled' => !$seleccion_5) ) ?>Sabado&nbsp;&nbsp;
+        </div>
+
+        <div class="form-row" id="mensual" style="<?php echo $mostrar_div_mensual?>">
+        </div>
+
+        <div class="form-row" id="anual" style="<?php echo $mostrar_div_anual?>">
+        </div>
+
+
+        <h4>Rango de frecuencia</h4>
+        <div class="form-row">  
+            <?php echo radiobutton_tag('evento[recurrencia_fin_tipo][]', '0', $recurrencia_fin_0, array('disabled' => !$activar_repeticion, 'onClick' => 'javascript:deshabilitaRangoFrecuencia()') ) ?>Sin fecha de Finalizaci&oacute;n&nbsp;&nbsp;<br>
+        
+            <?php echo radiobutton_tag('evento[recurrencia_fin_tipo][]', '1', $recurrencia_fin_1, array('disabled' => !$activar_repeticion, 'onClick' => 'javascript:HabilitaDeshabilitaRangoFrecuencia(\'evento_recurrencia_fin_repeticion\')') ) ?>Terminar despues: &nbsp;&nbsp;
+            <?php echo input_tag('evento[recurrencia_fin_repeticion]', $recurrencia_fin_repeticion, array('disabled' => !$activar_repeticion, 'maxlength' => 4, 'size' => 4 )) ?>    <br>
+
+            <?php echo radiobutton_tag('evento[recurrencia_fin_tipo][]', '2', $recurrencia_fin_2, array('disabled' => !$activar_repeticion, 'onClick' => 'javascript:HabilitaDeshabilitaRangoFrecuencia(\'evento_recurrencia_fin_fecha\')') ) ?>Terminar el:&nbsp;&nbsp;
+            <?php echo input_date_tag('evento[recurrencia_fin_fecha]', $recurrencia_fin_fecha, array ( 'rich' => true, 'calendar_button_img' => sfConfig::get('sf_admin_web_dir').'/images/date.png',
+              'control_name' => 'evento[recurrencia_fin_fecha]', 'disabled' => !$activar_repeticion
+            )) ?><br>
+
+        </div>
+
+        <?php echo object_input_hidden_tag($evento, 'getId', array ('control_name' => 'id_evento') ) ?>
+</fieldset>
+
+<!--
+<ul class="sf_admin_actions">
+  <li><?php echo submit_tag(__('Grabar'), array (
+  'name' => 'Grabar',
+  'class' => 'sf_admin_action_save',
+)) ?></li>
+</ul>
+
+</form> -->
+</div>
\ No newline at end of file


Property changes on: prosistem/alba/trunk/alba/apps/principal/modules/evento/templates/_carga_evento.php
___________________________________________________________________
Name: svn:keywords
   + "Id Author URL Date Rev"

Modified: prosistem/alba/trunk/alba/apps/principal/modules/informes/templates/certificadoEstudiosBusquedaFormularioSuccess.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/informes/templates/certificadoEstudiosBusquedaFormularioSuccess.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/informes/templates/certificadoEstudiosBusquedaFormularioSuccess.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -1,3 +1,4 @@
+<?php use_helper('I18N'); ?>
 <h1>Informe: Certificado de Estudios</h1>
 
 <?php echo form_tag('informes/certificadoEstudiosBusquedaFormulario', 'id=sf_admin_edit_form name=sf_admin_edit_form multipart=true') ?>

Modified: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/actions/actions.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/actions/actions.class.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/actions/actions.class.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -32,4 +32,249 @@
  */
 class relDivisionActividadDocenteActions extends autorelDivisionActividadDocenteActions
 {
+
+    protected function updateEventoFromRequest($evento_obj) {
+        $evento = $this->getRequestParameter('evento');
+      
+        if (isset($evento['fecha_inicio'])) {
+            if ($evento['fecha_inicio']) {
+                try {
+                    $dateFormat = new sfDateFormat($this->getUser()->getCulture());
+                    if(!is_array($evento['fecha_inicio'])) {
+
+                        if(isset($evento['hora_asociada']) AND $evento['hora_asociada'] == 1) {
+                            if($evento['hora_inicio']) {
+                                $evento['hora_inicio']['hour'] = ($evento['hora_inicio']['hour'] != "12" AND $evento['hora_inicio']['ampm'] == "PM")?$evento['hora_inicio']['hour'] + 12:$evento['hora_inicio']['hour'];
+                                $evento['hora_inicio']['hour'] = ($evento['hora_inicio']['hour'] == "12" AND $evento['hora_inicio']['ampm'] == "AM")?"00":$evento['hora_inicio']['hour'];
+                                $evento['fecha_inicio'] .= " ".$evento['hora_inicio']['hour'].":".$evento['hora_inicio']['minute'];
+                            } else {
+                                $evento['fecha_inicio'] .= " 00:00:00";
+                            }
+                        } else {
+                            $evento['fecha_inicio'] .= " 00:00:00";
+                        }
+
+                        $value = $dateFormat->format($evento['fecha_inicio'], 'I', $dateFormat->getInputPattern('g'));
+
+                    } else {
+                        $value_array = $evento['fecha_inicio'];
+                        
+                        $value_array['hour']['hour'] = "00";
+                        $value_array['hour']['minute'] = "00";
+                        $value_array['hour']['second'] = "00";
+                        if($evento['hora_asociada'] == 1) {
+                            if($evento['hora_inicio']) {
+                                $value_array['hour'] = $evento['hora_inicio']['hour'];
+                                $value_array['minute'] = $evento['hora_inicio']['minute'];
+                                $value_array['ampm'] = $evento['hora_inicio']['ampm'];
+                            }
+                        } 
+
+                        $value = $value_array['year'].'-'.$value_array['month'].'-'.$value_array['day'].(isset($value_array['hour']) ? ' '.$value_array['hour'].':'.$value_array['minute'].(isset($value_array['second']) ? ':'.$value_array['second'] : '') : '');
+                    }
+
+                    $evento_obj->setFechaInicio($value);
+                }
+                catch (sfException $e) {
+                // not a date
+                }
+            } else {
+                $evento_obj->setFechaInicio(null);
+            }
+        }
+
+        if (isset($evento['fecha_fin'])) {
+            if ($evento['fecha_fin']) {
+                try {
+                    $dateFormat = new sfDateFormat($this->getUser()->getCulture());
+                    if (!is_array($evento['fecha_fin'])) {
+
+                        if(isset($evento['hora_asociada']) AND $evento['hora_asociada'] == 1) {
+                            if($evento['hora_fin']) {
+                                $evento['hora_fin']['hour'] = ($evento['hora_fin']['hour'] != "12" AND $evento['hora_fin']['ampm'] == "PM")?$evento['hora_fin']['hour'] + 12:$evento['hora_fin']['hour'];
+                                $evento['hora_fin']['hour'] = ($evento['hora_fin']['hour'] == "12" AND $evento['hora_fin']['ampm'] == "AM")?"00":$evento['hora_fin']['hour'];
+
+                                $evento['fecha_fin'] .= " ".$evento['hora_fin']['hour'].":".$evento['hora_fin']['minute'];
+                            } else {
+                                $evento['fecha_fin'] .= " 00:00:00";
+                            }
+                        } else {
+                            $evento['fecha_fin'] .= " 00:00:00";
+                        }
+
+                        $value = $dateFormat->format($evento['fecha_fin'], 'I', $dateFormat->getInputPattern('g'));
+
+                    } else {
+                        $value_array = $evento['fecha_fin'];
+
+                        $value_array['hour']['hour'] = "00";
+                        $value_array['hour']['minute'] = "00";
+                        $value_array['hour']['second'] = "00";
+                        if($evento['hora_asociada'] == 1) {
+                            if($evento['hora_fin']) {
+                                $value_array['hour'] = $evento['hora_fin']['hour'];
+                                $value_array['minute'] = $evento['hora_fin']['minute'];
+                                $value_array['ampm'] = $evento['hora_inicio']['ampm'];
+                            }
+                        } 
+
+                        $value = $value_array['year'].'-'.$value_array['month'].'-'.$value_array['day'].(isset($value_array['hour']) ? ' '.$value_array['hour'].':'.$value_array['minute'].(isset($value_array['second']) ? ':'.$value_array['second'] : '') : '');
+                    }
+                    $evento_obj->setFechaFin($value);
+                }
+                catch (sfException $e) {
+                // not a date
+                }
+            } else {
+                $evento_obj->setFechaFin(null);
+            }
+        }
+
+
+        if(isset($evento['titulo'])) {
+            $evento_obj->setTitulo($evento['titulo']);
+        }
+        
+
+        if(isset($evento['tipo'])) {
+            $evento_obj->setTipo($evento['titulo']);
+        } else {
+            $evento_obj->setTipo(1); //  (0 = PRIVATE | 1 = PUBLIC | 2 = CONFIDENTIAL)
+        }
+
+        if(isset($evento['estado'])) {
+            $evento_obj->setEstado($evento['estado']);
+        } else {
+            $evento_obj->setEstado(1);  // (0 = TENTATIVE, 1 = CONFIRMED, 2 = CANCELLED)
+        }
+
+
+
+
+        if(isset($evento['activar_repeticion']) AND $evento['activar_repeticion'] == 1) {
+            if(isset($evento['frecuencia']) AND is_array($evento['frecuencia']) ) {
+                $evento_obj->setFrecuencia($evento['frecuencia'][0]);
+                
+                switch($evento['frecuencia'][0]) { // dia: 4, semana: 5, mes: 6, año: 7
+                    case '4':  $evento_obj->setFrecuenciaIntervalo($evento['frecuencia_intervalo_diaria']);
+                               break;
+                    case '5':  $evento_obj->setFrecuenciaIntervalo($evento['frecuencia_intervalo_semana']);
+                               $aSemanaBinario = array ( 1, 2, 4, 8, 16, 32, 64 );
+                               $suma_total = 0;
+                               foreach($evento['recurrencia_dias'] as $dia) {
+                                    $suma_total += $aSemanaBinario[$dia];
+                               }
+                                // guardamos en binario para saber todos los dias de la semana seleccionados
+                               $evento_obj->setRecurrenciaDias($suma_total); 
+                               break;
+                    case '6':  break;
+                    case '7':  break;
+                }
+            }
+            
+            if(isset($evento['recurrencia_fin_tipo']) AND is_array($evento['recurrencia_fin_tipo'])) {
+            
+                switch($evento['recurrencia_fin_tipo'][0]) {
+                    case '0':   $evento_obj->setRecurrenciaFin(''); 
+                                break;
+                    case '1':   $evento_obj->setRecurrenciaFin($evento['recurrencia_fin_repeticion']);
+                                break;
+                    case '2':   $dateFormat = new sfDateFormat($this->getUser()->getCulture());
+                                $value = $dateFormat->format($evento['recurrencia_fin_fecha']." 00:00:00", 'I', $dateFormat->getInputPattern('g'));
+                                $evento_obj->setRecurrenciaFin($value);
+                                break; 
+                }
+            }
+       }
+
+       return $evento_obj;
+  }
+
+
+  protected function getEventoOrCreate($id = 0)  {
+    if (!$id) {
+        $evento = new Evento();
+    } else {
+      $evento = EventoPeer::retrieveByPk($id);
+      $this->forward404Unless($evento);
+    }
+    return $evento;
+  }
+
+
+  public function executeEdit()
+  {
+    $this->rel_division_actividad_docente = $this->getRelDivisionActividadDocenteOrCreate();
+    $this->evento = $this->getEventoOrCreate($this->rel_division_actividad_docente->getFkEventoId());
+    
+    if ($this->getRequest()->getMethod() == sfRequest::POST) {
+
+      $this->evento = $this->updateEventoFromRequest($this->evento);
+      $this->evento->save();
+
+      $this->updateRelDivisionActividadDocenteFromRequest($this->evento->getId());
+      $this->saveRelDivisionActividadDocente($this->rel_division_actividad_docente);
+
+     
+      $this->setFlash('notice', 'Your modifications have been saved');
+      if ($this->getRequestParameter('save_and_add')) {
+        return $this->redirect('relDivisionActividadDocente/create');
+      }
+      else if ($this->getRequestParameter('save_and_list')) {
+        return $this->redirect('relDivisionActividadDocente/list');
+      } else {
+        return $this->redirect('relDivisionActividadDocente/edit?id='.$this->rel_division_actividad_docente->getId());
+      }
+    } else {
+      $this->labels = $this->getLabels();
+    }
+  }
+
+  protected function getLabels()
+  {
+    return array(
+      'rel_division_actividad_docente{fk_division_id}' => 'Divisi&oacute;n:',
+      'rel_division_actividad_docente{fk_actividad_id}' => 'Actividad:',
+      'rel_division_actividad_docente{fk_docente_id}' => 'Docente:',
+      'evento{fecha_inicio}' => 'Fecha inicio:',
+      'evento{fecha_fin}' => 'Fecha fin:',
+    );
+  }
+
+
+  public function handleErrorEdit()
+  {
+    $this->preExecute();
+    $this->rel_division_actividad_docente = $this->getRelDivisionActividadDocenteOrCreate();
+    $this->updateRelDivisionActividadDocenteFromRequest();
+    $this->labels = $this->getLabels();
+    $this->evento = new Evento();
+    return sfView::SUCCESS;
+  }
+
+
+
+    protected function updateRelDivisionActividadDocenteFromRequest($fk_evento_id = '') {
+        $rel_division_actividad_docente = $this->getRequestParameter('rel_division_actividad_docente');
+        if (isset($rel_division_actividad_docente['fk_division_id'])) {
+            $this->rel_division_actividad_docente->setFkDivisionId($rel_division_actividad_docente['fk_division_id'] ? $rel_division_actividad_docente['fk_division_id'] : null);
+        }
+        if (isset($rel_division_actividad_docente['fk_actividad_id'])) {
+            $this->rel_division_actividad_docente->setFkActividadId($rel_division_actividad_docente['fk_actividad_id'] ? $rel_division_actividad_docente['fk_actividad_id'] : null);
+        }
+        if (isset($rel_division_actividad_docente['fk_docente_id'])) {
+            $this->rel_division_actividad_docente->setFkDocenteId($rel_division_actividad_docente['fk_docente_id'] ? $rel_division_actividad_docente['fk_docente_id'] : null);
+        }
+        if ($fk_evento_id) {
+            $this->rel_division_actividad_docente->setFkEventoId($fk_evento_id);
+        } else {
+            $this->rel_division_actividad_docente->setFkEventoId(null);
+        }
+
+
+      }
+
+
+
 }
+?>
\ No newline at end of file

Modified: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/config/generator.yml
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/config/generator.yml	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/config/generator.yml	2007-05-02 19:44:12 UTC (rev 4601)
@@ -9,18 +9,20 @@
         fk_division_id: { name: Divisi&oacute;n }
         fk_actividad_id: { name: Actividad }
         fk_repeticion_id: { name: Repetici&oacute;n }
-        fecha_inicio: {vname: Fecha Inicio,  params: date_format='dd/MM/yy' }
+        carga_evento: { name: Cargar Evento }
+
+        fecha_inicio: { name: Fecha Inicio,  params: date_format='dd/MM/yy' }
         fecha_fin: { name: Fecha fin , params: date_format='dd/MM/yy' }
         hora_inicio: { name: Hora Inicio }
         hora_fin: { name: Hora fin }
 
     list:
         title: Generaci&oacute;n Manual de horarios por divisi&oacute;n 
-        display: [ division, actividad , docente, fecha_inicio, fecha_fin, hora_inicio, hora_fin ]
+        display: [ division, actividad , docente ]
         object_actions:
             _edit: -
             _delete: -
       
     edit:
         title: Editar horarios 
-        display: [ fk_division_id, fk_actividad_id , fk_docente_id, fecha_inicio, fecha_fin, hora_inicio, hora_fin ]
\ No newline at end of file
+        display: [ fk_division_id, fk_actividad_id , fk_docente_id ]
\ No newline at end of file

Added: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_actions.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_actions.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_actions.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -0,0 +1,17 @@
+<?php
+// auto-generated by sfPropelAdmin
+// date: 2007/05/02 13:04:37
+?>
+<ul class="sf_admin_actions">
+  <li><?php echo button_to(__('list'), 'relDivisionActividadDocente/list?id='.$rel_division_actividad_docente->getId(), array (
+  'class' => 'sf_admin_action_list',
+)) ?></li>
+  <li><?php echo submit_tag(__('save'), array (
+  'name' => 'save',
+  'class' => 'sf_admin_action_save',
+)) ?></li>
+  <li><?php echo submit_tag(__('save and add'), array (
+  'name' => 'save_and_add',
+  'class' => 'sf_admin_action_save_and_add',
+)) ?></li>
+</ul>


Property changes on: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_actions.php
___________________________________________________________________
Name: svn:keywords
   + "Id Author URL Date Rev"

Added: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_footer.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_footer.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_footer.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -0,0 +1,4 @@
+<?php
+// auto-generated by sfPropelAdmin
+// date: 2007/05/02 13:04:37
+?>


Property changes on: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_footer.php
___________________________________________________________________
Name: svn:keywords
   + "Id Author URL Date Rev"

Added: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_form.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_form.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_form.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -0,0 +1,78 @@
+<?php
+// auto-generated by sfPropelAdmin
+// date: 2007/05/02 13:04:37
+?>
+<?php echo form_tag('relDivisionActividadDocente/edit', array(
+  'id'        => 'sf_admin_edit_form',
+  'name'      => 'sf_admin_edit_form',
+  'multipart' => true,
+)) ?>
+
+<?php echo object_input_hidden_tag($rel_division_actividad_docente, 'getId') ?>
+
+<fieldset id="sf_fieldset_none" class="">
+
+<div class="form-row">
+  <?php echo label_for('rel_division_actividad_docente[fk_division_id]', __($labels['rel_division_actividad_docente{fk_division_id}']), '') ?>
+  <div class="content<?php if ($sf_request->hasError('rel_division_actividad_docente{fk_division_id}')): ?> form-error<?php endif; ?>">
+  <?php if ($sf_request->hasError('rel_division_actividad_docente{fk_division_id}')): ?>
+    <?php echo form_error('rel_division_actividad_docente{fk_division_id}', array('class' => 'form-error-msg')) ?>
+  <?php endif; ?>
+
+  <?php $value = object_select_tag($rel_division_actividad_docente, 'getFkDivisionId', array (
+  'related_class' => 'Division',
+  'control_name' => 'rel_division_actividad_docente[fk_division_id]',
+  'include_blank' => true,
+)); echo $value ? $value : '&nbsp;' ?>
+    </div>
+</div>
+
+<div class="form-row">
+  <?php echo label_for('rel_division_actividad_docente[fk_actividad_id]', __($labels['rel_division_actividad_docente{fk_actividad_id}']), 'class="required" ') ?>
+  <div class="content<?php if ($sf_request->hasError('rel_division_actividad_docente{fk_actividad_id}')): ?> form-error<?php endif; ?>">
+  <?php if ($sf_request->hasError('rel_division_actividad_docente{fk_actividad_id}')): ?>
+    <?php echo form_error('rel_division_actividad_docente{fk_actividad_id}', array('class' => 'form-error-msg')) ?>
+  <?php endif; ?>
+
+  <?php $value = object_select_tag($rel_division_actividad_docente, 'getFkActividadId', array (
+  'related_class' => 'Actividad',
+  'control_name' => 'rel_division_actividad_docente[fk_actividad_id]',
+)); echo $value ? $value : '&nbsp;' ?>
+    </div>
+</div>
+
+<div class="form-row">
+  <?php echo label_for('rel_division_actividad_docente[fk_docente_id]', __($labels['rel_division_actividad_docente{fk_docente_id}']), '') ?>
+  <div class="content<?php if ($sf_request->hasError('rel_division_actividad_docente{fk_docente_id}')): ?> form-error<?php endif; ?>">
+  <?php if ($sf_request->hasError('rel_division_actividad_docente{fk_docente_id}')): ?>
+    <?php echo form_error('rel_division_actividad_docente{fk_docente_id}', array('class' => 'form-error-msg')) ?>
+  <?php endif; ?>
+
+  <?php $value = object_select_tag($rel_division_actividad_docente, 'getFkDocenteId', array (
+  'related_class' => 'Docente',
+  'control_name' => 'rel_division_actividad_docente[fk_docente_id]',
+  'include_blank' => true,
+)); echo $value ? $value : '&nbsp;' ?>
+    </div>
+</div>
+
+
+
+<?php include_partial('evento/carga_evento', array('rel_division_actividad_docente' => $rel_division_actividad_docente, 'evento' => $evento)) ?>
+
+
+</fieldset>
+
+<?php include_partial('edit_actions', array('rel_division_actividad_docente' => $rel_division_actividad_docente)) ?>
+
+</form>
+
+<ul class="sf_admin_actions">
+      <li class="float-left"><?php if ($rel_division_actividad_docente->getId()): ?>
+<?php echo button_to(__('delete'), 'relDivisionActividadDocente/delete?id='.$rel_division_actividad_docente->getId(), array (
+  'post' => true,
+  'confirm' => __('Are you sure?'),
+  'class' => 'sf_admin_action_delete',
+)) ?><?php endif; ?>
+</li>
+  </ul>


Property changes on: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_form.php
___________________________________________________________________
Name: svn:keywords
   + "Id Author URL Date Rev"

Added: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_header.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_header.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_header.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -0,0 +1,4 @@
+<?php
+// auto-generated by sfPropelAdmin
+// date: 2007/05/02 13:04:37
+?>


Property changes on: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_header.php
___________________________________________________________________
Name: svn:keywords
   + "Id Author URL Date Rev"

Added: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_messages.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_messages.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_messages.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -0,0 +1,19 @@
+<?php
+// auto-generated by sfPropelAdmin
+// date: 2007/05/02 13:04:37
+?>
+<?php if ($sf_request->hasErrors()): ?>
+<div class="form-errors">
+<h2><?php echo __('There are some errors that prevent the form to validate') ?></h2>
+<dl>
+<?php foreach ($sf_request->getErrorNames() as $name): ?>
+  <dt><?php echo __($labels[$name]) ?></dt>
+  <dd><?php echo $sf_request->getError($name) ?></dd>
+<?php endforeach; ?>
+</dl>
+</div>
+<?php elseif ($sf_flash->has('notice')): ?>
+<div class="save-ok">
+<h2><?php echo __($sf_flash->get('notice')) ?></h2>
+</div>
+<?php endif; ?>


Property changes on: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_edit_messages.php
___________________________________________________________________
Name: svn:keywords
   + "Id Author URL Date Rev"

Deleted: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_hora_fin.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_hora_fin.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_hora_fin.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -1,3 +0,0 @@
-<?php use_helper('DateForm') ?>
-
-<?php echo select_time_tag("rel_division_actividad_docente[[hora_fin]", $rel_division_actividad_docente->getHoraFin(), array('include_second' => false, '12hour_time' => true));?>
\ No newline at end of file

Deleted: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_hora_inicio.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_hora_inicio.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/_hora_inicio.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -1,3 +0,0 @@
-<?php use_helper('DateForm') ?>
-
-<?php echo select_time_tag("rel_division_actividad_docente[hora_inicio]", $rel_division_actividad_docente->getHoraInicio(), array('include_second' => false, '12hour_time' => true));?>
\ No newline at end of file

Added: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/editSuccess.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/editSuccess.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/editSuccess.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -0,0 +1,27 @@
+<?php
+// auto-generated by sfPropelAdmin
+// date: 2007/05/02 13:04:37
+?>
+<?php use_helper('Object', 'Validation', 'ObjectAdmin', 'I18N', 'Date') ?>
+
+<?php use_stylesheet('/sf/sf_admin/css/main') ?>
+
+<div id="sf_admin_container">
+
+<h1><?php echo __('Editar horarios', 
+array()) ?></h1>
+
+<div id="sf_admin_header">
+<?php include_partial('relDivisionActividadDocente/edit_header', array('rel_division_actividad_docente' => $rel_division_actividad_docente)) ?>
+</div>
+
+<div id="sf_admin_content">
+<?php include_partial('relDivisionActividadDocente/edit_messages', array('rel_division_actividad_docente' => $rel_division_actividad_docente, 'labels' => $labels)) ?>
+<?php include_partial('relDivisionActividadDocente/edit_form', array('rel_division_actividad_docente' => $rel_division_actividad_docente, 'labels' => $labels, 'evento' => $evento)) ?>
+</div>
+
+<div id="sf_admin_footer">
+<?php include_partial('relDivisionActividadDocente/edit_footer', array('rel_division_actividad_docente' => $rel_division_actividad_docente)) ?>
+</div>
+
+</div>


Property changes on: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/templates/editSuccess.php
___________________________________________________________________
Name: svn:keywords
   + "Id Author URL Date Rev"

Added: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/validate/edit.yml
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/validate/edit.yml	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/validate/edit.yml	2007-05-02 19:44:12 UTC (rev 4601)
@@ -0,0 +1,65 @@
+methods:
+    post:       
+        - "evento{fecha_inicio}"
+        - "evento{fecha_fin}"
+        - "rel_division_actividad_docente{fk_docente_id}"
+        - "rel_division_actividad_docente{fk_actividad_id}"
+        - "rel_division_actividad_docente{fk_division_id}"
+              
+    
+fillin:
+    enabled:       on
+
+names:
+
+    evento{fecha_inicio}:
+        required:     Yes
+        required_msg: El campo fecha inicio es obligatorio
+
+    evento{fecha_fin}:
+        required:     Yes
+        required_msg: El campo fecha inicio es obligatorio
+
+    rel_division_actividad_docente{fk_actividad_id}:
+        required:     Yes
+        required_msg: El campo actividad es obligatorio
+        validators: validarActividad
+                            
+    rel_division_actividad_docente{fk_docente_id}:
+        required:     Yes
+        required_msg: El campo docente es obligatorio
+        validators: validarDocente
+                                                        
+    rel_division_actividad_docente{fk_division_id}:
+        required:     Yes
+        required_msg: El campo division es obligatorio
+        validators: validarDivision
+
+
+caracteresMaximos255:
+    class:  sfStringValidator
+    param:
+        max: 255
+        max_error: La maxima cantidad de caracteres permitida es de 255
+
+validarDocente:
+    class:  sfNumberValidator
+    param:
+        nan_error: Seleccione una docente v&aacute;lida
+        min: 1
+        min_error: Seleccione una docente v&aacute;lida
+
+validarDivision:
+    class:  sfNumberValidator
+    param:
+        nan_error: Seleccione una divisi&oacute;n  v&aacute;lida
+        min: 1
+        min_error: Seleccione una divisi&oacute;n  v&aacute;lida
+
+validarActividad:
+    class:  sfNumberValidator
+    param:
+        nan_error: Seleccione una actividad v&aacute;lida
+        min: 1
+        min_error: Seleccione una actividad v&aacute;lida
+                                
\ No newline at end of file


Property changes on: prosistem/alba/trunk/alba/apps/principal/modules/relDivisionActividadDocente/validate/edit.yml
___________________________________________________________________
Name: svn:keywords
   + "Id Author URL Date Rev"

Modified: prosistem/alba/trunk/alba/config/schema.xml
===================================================================
--- prosistem/alba/trunk/alba/config/schema.xml	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/config/schema.xml	2007-05-02 19:44:12 UTC (rev 4601)
@@ -568,6 +568,7 @@
         <column name="fk_division_id" type="integer" size="11" required="false" default="0"/>
         <column name="fk_actividad_id" type="integer" size="11" required="true" default="0"/>
         <column name="fk_docente_id" type="integer" size="11" required="false" default="0"/>
+        <column name="fk_evento_id" type="integer" size="11" required="false" default="0"/>
         <!-- column name="fk_tipodocente_id" type="integer" size="11" required="false" default="0"/ -->
         <!-- column name="fk_cargobaja_id" type="integer" size="11" required="false" default="0"/ -->
         <column name="fk_repeticion_id" type="integer" size="11" required="false" default="0"/>
@@ -595,6 +596,9 @@
         <foreign-key foreignTable="repeticion">
             <reference local="fk_repeticion_id" foreign="id"/>       
         </foreign-key>
+        <foreign-key foreignTable="evento">
+            <reference local="fk_evento_id" foreign="id"/>       
+        </foreign-key>
     </table>
     <table name="docente" idMethod="native">
         <column name="id" type="INTEGER" required="true" autoIncrement="true" primaryKey="true"/>

Modified: prosistem/alba/trunk/alba/data/sql/actualizacion_1.0rc_a_1.0.sql
===================================================================
--- prosistem/alba/trunk/alba/data/sql/actualizacion_1.0rc_a_1.0.sql	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/data/sql/actualizacion_1.0rc_a_1.0.sql	2007-05-02 19:44:12 UTC (rev 4601)
@@ -21,8 +21,8 @@
     PRIMARY KEY (`id`)
 )Type=InnoDB;
 
-INSERT INTO modulo (id,nombre,titulo,descripcion) VALUES (48,'rolResponsable','Rol Responsables','Roles de los Resposables de Alumos');
-INSERT INTO permiso (nombre,descripcion,fk_modulo_id,credencial) VALUES ('rolResponsable','Rol de Responsables',48,'rolResponsable');
+INSERT INTO modulo (id,nombre,titulo,descripcion) VALUES ( 48, 'rolResponsable', 'Rol Responsables', 'Roles de los Resposables de Alumos');
+INSERT INTO permiso (nombre,descripcion,fk_modulo_id,credencial) VALUES ( 'rolResponsable', 'Rol de Responsables', 48, 'rolResponsable');
 
 CREATE TABLE `evento`
 (
@@ -62,5 +62,7 @@
 )Type=InnoDB;
 
 ALTER TABLE responsable ADD COLUMN fk_rolresponsable_id INT NOT NULL DEFAULT 1;
-SET FOREIGN_KEY_CHECKS = 1;
 
+ALTER TABLE `rel_division_actividad_docente` ADD `fk_evento_id` INT NULL ;
+
+SET FOREIGN_KEY_CHECKS = 1;
\ No newline at end of file

Modified: prosistem/alba/trunk/alba/data/sql/schema.sql
===================================================================
--- prosistem/alba/trunk/alba/data/sql/schema.sql	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/data/sql/schema.sql	2007-05-02 19:44:12 UTC (rev 4601)
@@ -1106,6 +1106,7 @@
 	`fk_division_id` INTEGER(11) default 0,
 	`fk_actividad_id` INTEGER(11) default 0 NOT NULL,
 	`fk_docente_id` INTEGER(11) default 0,
+	`fk_evento_id` INTEGER(11) default 0,
 	`fk_repeticion_id` INTEGER(11) default 0,
 	`fecha_inicio` DATETIME  NOT NULL,
 	`fecha_fin` DATETIME  NOT NULL,
@@ -1127,7 +1128,11 @@
 	INDEX `rel_division_actividad_docente_FI_4` (`fk_repeticion_id`),
 	CONSTRAINT `rel_division_actividad_docente_FK_4`
 		FOREIGN KEY (`fk_repeticion_id`)
-		REFERENCES `repeticion` (`id`)
+		REFERENCES `repeticion` (`id`),
+	INDEX `rel_division_actividad_docente_FI_5` (`fk_evento_id`),
+	CONSTRAINT `rel_division_actividad_docente_FK_5`
+		FOREIGN KEY (`fk_evento_id`)
+		REFERENCES `evento` (`id`)
 )Type=InnoDB;
 
 #-----------------------------------------------------------------------------

Modified: prosistem/alba/trunk/alba/lib/model/Evento.php
===================================================================
--- prosistem/alba/trunk/alba/lib/model/Evento.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/lib/model/Evento.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -19,6 +19,168 @@
         // si la hora de ambos es diferente de 00:00:00 entonces si tiene hora
     }
 
+/*
 
+  protected function getEventoOrCreate($id = 'id')  {
+    if (!$this->getRequestParameter($id)) {
+        $evento = new Evento();
+    } else {
+      $evento = EventoPeer::retrieveByPk($this->getRequestParameter($id));
+      $this->forward404Unless($evento);
+    }
+    return $evento;
+  }
 
+
+
+
+    protected function updateEventoFromRequest($request, $culture) {
+        $evento = $request->getRequestParameter('evento');
+
+        if (isset($evento['fecha_inicio'])) {
+            if ($evento['fecha_inicio']) {
+                try {
+                    $dateFormat = new sfDateFormat($culture);
+                    if(!is_array($evento['fecha_inicio'])) {
+
+                        if(isset($evento['hora_asociada']) AND $evento['hora_asociada'] == 1) {
+                            if($evento['hora_inicio']) {
+                                $evento['fecha_inicio'] .= " ".$evento['hora_inicio']['hour'].":".$evento['hora_inicio']['minute'];
+                            } else {
+                                $evento['fecha_inicio'] .= " 00:00:00";
+                            }
+                        } else {
+                            $evento['fecha_inicio'] .= " 00:00:00";
+                        }
+
+                        $value = $dateFormat->format($evento['fecha_inicio'], 'I', $dateFormat->getInputPattern('g'));
+                    } else {
+                        $value_array = $evento['fecha_inicio'];
+                        
+                        $value_array['hour']['hour'] = "00";
+                        $value_array['hour']['minute'] = "00";
+                        $value_array['hour']['second'] = "00";
+                        if($evento['hora_asociada'] == 1) {
+                            if($evento['hora_inicio']) {
+                                $value_array['hour'] = $evento['hora_inicio']['hour'];
+                                $value_array['minute'] = $evento['hora_inicio']['minute'];
+                            }
+                        } 
+
+                        $value = $value_array['year'].'-'.$value_array['month'].'-'.$value_array['day'].(isset($value_array['hour']) ? ' '.$value_array['hour'].':'.$value_array['minute'].(isset($value_array['second']) ? ':'.$value_array['second'] : '') : '');
+                    }
+
+                    $this->evento->setFechaInicio($value);
+                }
+                catch (sfException $e) {
+                // not a date
+                }
+            } else {
+                $this->evento->setFechaInicio(null);
+            }
+        }
+
+        if (isset($evento['fecha_fin'])) {
+            if ($evento['fecha_fin']) {
+                try {
+                    $dateFormat = new sfDateFormat($this->getUser()->getCulture());
+                    if (!is_array($evento['fecha_fin'])) {
+
+                        if(isset($evento['hora_asociada']) AND $evento['hora_asociada'] == 1) {
+                            if($evento['hora_fin']) {
+                                $evento['fecha_fin'] .= " ".$evento['hora_fin']['hour'].":".$evento['hora_fin']['minute'];
+                            } else {
+                                $evento['fecha_fin'] .= " 00:00:00";
+                            }
+                        } else {
+                            $evento['fecha_fin'] .= " 00:00:00";
+                        }
+
+                        $value = $dateFormat->format($evento['fecha_fin'], 'I', $dateFormat->getInputPattern('g'));
+                    } else {
+                        $value_array = $evento['fecha_fin'];
+
+                        $value_array['hour']['hour'] = "00";
+                        $value_array['hour']['minute'] = "00";
+                        $value_array['hour']['second'] = "00";
+                        if($evento['hora_asociada'] == 1) {
+                            if($evento['hora_fin']) {
+                                $value_array['hour'] = $evento['hora_fin']['hour'];
+                                $value_array['minute'] = $evento['hora_fin']['minute'];
+                            }
+                        } 
+
+                        $value = $value_array['year'].'-'.$value_array['month'].'-'.$value_array['day'].(isset($value_array['hour']) ? ' '.$value_array['hour'].':'.$value_array['minute'].(isset($value_array['second']) ? ':'.$value_array['second'] : '') : '');
+                    }
+                    $this->evento->setFechaFin($value);
+                }
+                catch (sfException $e) {
+                // not a date
+                }
+            } else {
+                $this->evento->setFechaFin(null);
+            }
+        }
+
+
+        if(isset($evento['titulo'])) {
+            $this->evento->setTitulo($evento['titulo']);
+        }
+        
+
+        if(isset($evento['tipo'])) {
+            $this->evento->setTipo($evento['titulo']);
+        } else {
+            $this->evento->setTipo(1); //  (0 = PRIVATE | 1 = PUBLIC | 2 = CONFIDENTIAL)
+        }
+
+        if(isset($evento['estado'])) {
+            $this->evento->setEstado($evento['estado']);
+        } else {
+            $this->evento->setEstado(1);  // (0 = TENTATIVE, 1 = CONFIRMED, 2 = CANCELLED)
+        }
+
+
+
+
+        if(isset($evento['activar_repeticion']) AND $evento['activar_repeticion'] == 1) {
+            if(isset($evento['frecuencia']) AND is_array($evento['frecuencia']) ) {
+                $this->evento->setFrecuencia($evento['frecuencia'][0]);
+                
+                switch($evento['frecuencia'][0]) { // dia: 4, semana: 5, mes: 6, año: 7
+                    case '4':  $this->evento->setFrecuenciaIntervalo($evento['frecuencia_intervalo_diaria']);
+                               break;
+                    case '5':  $this->evento->setFrecuenciaIntervalo($evento['frecuencia_intervalo_semana']);
+                               $aSemanaBinario = array ( 1, 2, 4, 8, 16, 32, 64 );
+                               $suma_total = 0;
+                               foreach($evento['recurrencia_dias'] as $dia) {
+                                    $suma_total += $aSemanaBinario[$dia];
+                               }
+                                // guardamos en binario para saber todos los dias de la semana seleccionados
+                               $this->evento->setRecurrenciaDias($suma_total); 
+                               break;
+                    case '6':  break;
+                    case '7':  break;
+                }
+            }
+            
+            switch($evento['recurrencia_fin_tipo'][0]) {
+                case '0':   $this->evento->setRecurrenciaFin(''); 
+                            break;
+                case '1':   $this->evento->setRecurrenciaFin($evento['recurrencia_fin_repeticion']);
+                            break;
+                case '2':   $dateFormat = new sfDateFormat($this->getUser()->getCulture());
+                            $value = $dateFormat->format($evento['recurrencia_fin_fecha']." 00:00:00", 'I', $dateFormat->getInputPattern('g'));
+                            $this->evento->setRecurrenciaFin($value);
+                            break; 
+            }
+       }
+
+  }
+
+
+
+*/
+
 }
+?>
\ No newline at end of file

Modified: prosistem/alba/trunk/alba/lib/model/map/RelDivisionActividadDocenteMapBuilder.php
===================================================================
--- prosistem/alba/trunk/alba/lib/model/map/RelDivisionActividadDocenteMapBuilder.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/lib/model/map/RelDivisionActividadDocenteMapBuilder.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -40,6 +40,8 @@
 
 		$tMap->addForeignKey('FK_DOCENTE_ID', 'FkDocenteId', 'int', CreoleTypes::INTEGER, 'docente', 'ID', false, 11);
 
+		$tMap->addForeignKey('FK_EVENTO_ID', 'FkEventoId', 'int', CreoleTypes::INTEGER, 'evento', 'ID', false, 11);
+
 		$tMap->addForeignKey('FK_REPETICION_ID', 'FkRepeticionId', 'int', CreoleTypes::INTEGER, 'repeticion', 'ID', false, 11);
 
 		$tMap->addColumn('FECHA_INICIO', 'FechaInicio', 'int', CreoleTypes::TIMESTAMP, true);

Modified: prosistem/alba/trunk/alba/lib/model/om/BaseActividad.php
===================================================================
--- prosistem/alba/trunk/alba/lib/model/om/BaseActividad.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/lib/model/om/BaseActividad.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -1195,7 +1195,42 @@
 		return $this->collRelDivisionActividadDocentes;
 	}
 
+
 	
+	public function getRelDivisionActividadDocentesJoinEvento($criteria = null, $con = null)
+	{
+				include_once 'lib/model/om/BaseRelDivisionActividadDocentePeer.php';
+		if ($criteria === null) {
+			$criteria = new Criteria();
+		}
+		elseif ($criteria instanceof Criteria)
+		{
+			$criteria = clone $criteria;
+		}
+
+		if ($this->collRelDivisionActividadDocentes === null) {
+			if ($this->isNew()) {
+				$this->collRelDivisionActividadDocentes = array();
+			} else {
+
+				$criteria->add(RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, $this->getId());
+
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinEvento($criteria, $con);
+			}
+		} else {
+									
+			$criteria->add(RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, $this->getId());
+
+			if (!isset($this->lastRelDivisionActividadDocenteCriteria) || !$this->lastRelDivisionActividadDocenteCriteria->equals($criteria)) {
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinEvento($criteria, $con);
+			}
+		}
+		$this->lastRelDivisionActividadDocenteCriteria = $criteria;
+
+		return $this->collRelDivisionActividadDocentes;
+	}
+
+	
 	public function initRelActividadDocentes()
 	{
 		if ($this->collRelActividadDocentes === null) {

Modified: prosistem/alba/trunk/alba/lib/model/om/BaseDivision.php
===================================================================
--- prosistem/alba/trunk/alba/lib/model/om/BaseDivision.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/lib/model/om/BaseDivision.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -851,4 +851,39 @@
 		return $this->collRelDivisionActividadDocentes;
 	}
 
+
+	
+	public function getRelDivisionActividadDocentesJoinEvento($criteria = null, $con = null)
+	{
+				include_once 'lib/model/om/BaseRelDivisionActividadDocentePeer.php';
+		if ($criteria === null) {
+			$criteria = new Criteria();
+		}
+		elseif ($criteria instanceof Criteria)
+		{
+			$criteria = clone $criteria;
+		}
+
+		if ($this->collRelDivisionActividadDocentes === null) {
+			if ($this->isNew()) {
+				$this->collRelDivisionActividadDocentes = array();
+			} else {
+
+				$criteria->add(RelDivisionActividadDocentePeer::FK_DIVISION_ID, $this->getId());
+
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinEvento($criteria, $con);
+			}
+		} else {
+									
+			$criteria->add(RelDivisionActividadDocentePeer::FK_DIVISION_ID, $this->getId());
+
+			if (!isset($this->lastRelDivisionActividadDocenteCriteria) || !$this->lastRelDivisionActividadDocenteCriteria->equals($criteria)) {
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinEvento($criteria, $con);
+			}
+		}
+		$this->lastRelDivisionActividadDocenteCriteria = $criteria;
+
+		return $this->collRelDivisionActividadDocentes;
+	}
+
 } 
\ No newline at end of file

Modified: prosistem/alba/trunk/alba/lib/model/om/BaseDocente.php
===================================================================
--- prosistem/alba/trunk/alba/lib/model/om/BaseDocente.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/lib/model/om/BaseDocente.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -1262,7 +1262,42 @@
 		return $this->collRelDivisionActividadDocentes;
 	}
 
+
 	
+	public function getRelDivisionActividadDocentesJoinEvento($criteria = null, $con = null)
+	{
+				include_once 'lib/model/om/BaseRelDivisionActividadDocentePeer.php';
+		if ($criteria === null) {
+			$criteria = new Criteria();
+		}
+		elseif ($criteria instanceof Criteria)
+		{
+			$criteria = clone $criteria;
+		}
+
+		if ($this->collRelDivisionActividadDocentes === null) {
+			if ($this->isNew()) {
+				$this->collRelDivisionActividadDocentes = array();
+			} else {
+
+				$criteria->add(RelDivisionActividadDocentePeer::FK_DOCENTE_ID, $this->getId());
+
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinEvento($criteria, $con);
+			}
+		} else {
+									
+			$criteria->add(RelDivisionActividadDocentePeer::FK_DOCENTE_ID, $this->getId());
+
+			if (!isset($this->lastRelDivisionActividadDocenteCriteria) || !$this->lastRelDivisionActividadDocenteCriteria->equals($criteria)) {
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinEvento($criteria, $con);
+			}
+		}
+		$this->lastRelDivisionActividadDocenteCriteria = $criteria;
+
+		return $this->collRelDivisionActividadDocentes;
+	}
+
+	
 	public function initRelDocenteEstablecimientos()
 	{
 		if ($this->collRelDocenteEstablecimientos === null) {

Modified: prosistem/alba/trunk/alba/lib/model/om/BaseEvento.php
===================================================================
--- prosistem/alba/trunk/alba/lib/model/om/BaseEvento.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/lib/model/om/BaseEvento.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -48,6 +48,12 @@
 	protected $estado = 0;
 
 	
+	protected $collRelDivisionActividadDocentes;
+
+	
+	protected $lastRelDivisionActividadDocenteCriteria = null;
+
+	
 	protected $alreadyInSave = false;
 
 	
@@ -364,6 +370,14 @@
 				}
 				$this->resetModified(); 			}
 
+			if ($this->collRelDivisionActividadDocentes !== null) {
+				foreach($this->collRelDivisionActividadDocentes as $referrerFK) {
+					if (!$referrerFK->isDeleted()) {
+						$affectedRows += $referrerFK->save($con);
+					}
+				}
+			}
+
 			$this->alreadyInSave = false;
 		}
 		return $affectedRows;
@@ -405,7 +419,15 @@
 			}
 
 
+				if ($this->collRelDivisionActividadDocentes !== null) {
+					foreach($this->collRelDivisionActividadDocentes as $referrerFK) {
+						if (!$referrerFK->validate($columns)) {
+							$failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
+						}
+					}
+				}
 
+
 			$this->alreadyInValidation = false;
 		}
 
@@ -601,6 +623,15 @@
 		$copyObj->setEstado($this->estado);
 
 
+		if ($deepCopy) {
+									$copyObj->setNew(false);
+
+			foreach($this->getRelDivisionActividadDocentes() as $relObj) {
+				$copyObj->addRelDivisionActividadDocente($relObj->copy($deepCopy));
+			}
+
+		} 
+
 		$copyObj->setNew(true);
 
 		$copyObj->setId(NULL); 
@@ -624,4 +655,214 @@
 		return self::$peer;
 	}
 
+	
+	public function initRelDivisionActividadDocentes()
+	{
+		if ($this->collRelDivisionActividadDocentes === null) {
+			$this->collRelDivisionActividadDocentes = array();
+		}
+	}
+
+	
+	public function getRelDivisionActividadDocentes($criteria = null, $con = null)
+	{
+				include_once 'lib/model/om/BaseRelDivisionActividadDocentePeer.php';
+		if ($criteria === null) {
+			$criteria = new Criteria();
+		}
+		elseif ($criteria instanceof Criteria)
+		{
+			$criteria = clone $criteria;
+		}
+
+		if ($this->collRelDivisionActividadDocentes === null) {
+			if ($this->isNew()) {
+			   $this->collRelDivisionActividadDocentes = array();
+			} else {
+
+				$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+				RelDivisionActividadDocentePeer::addSelectColumns($criteria);
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelect($criteria, $con);
+			}
+		} else {
+						if (!$this->isNew()) {
+												
+
+				$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+				RelDivisionActividadDocentePeer::addSelectColumns($criteria);
+				if (!isset($this->lastRelDivisionActividadDocenteCriteria) || !$this->lastRelDivisionActividadDocenteCriteria->equals($criteria)) {
+					$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelect($criteria, $con);
+				}
+			}
+		}
+		$this->lastRelDivisionActividadDocenteCriteria = $criteria;
+		return $this->collRelDivisionActividadDocentes;
+	}
+
+	
+	public function countRelDivisionActividadDocentes($criteria = null, $distinct = false, $con = null)
+	{
+				include_once 'lib/model/om/BaseRelDivisionActividadDocentePeer.php';
+		if ($criteria === null) {
+			$criteria = new Criteria();
+		}
+		elseif ($criteria instanceof Criteria)
+		{
+			$criteria = clone $criteria;
+		}
+
+		$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+		return RelDivisionActividadDocentePeer::doCount($criteria, $distinct, $con);
+	}
+
+	
+	public function addRelDivisionActividadDocente(RelDivisionActividadDocente $l)
+	{
+		$this->collRelDivisionActividadDocentes[] = $l;
+		$l->setEvento($this);
+	}
+
+
+	
+	public function getRelDivisionActividadDocentesJoinDivision($criteria = null, $con = null)
+	{
+				include_once 'lib/model/om/BaseRelDivisionActividadDocentePeer.php';
+		if ($criteria === null) {
+			$criteria = new Criteria();
+		}
+		elseif ($criteria instanceof Criteria)
+		{
+			$criteria = clone $criteria;
+		}
+
+		if ($this->collRelDivisionActividadDocentes === null) {
+			if ($this->isNew()) {
+				$this->collRelDivisionActividadDocentes = array();
+			} else {
+
+				$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinDivision($criteria, $con);
+			}
+		} else {
+									
+			$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+			if (!isset($this->lastRelDivisionActividadDocenteCriteria) || !$this->lastRelDivisionActividadDocenteCriteria->equals($criteria)) {
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinDivision($criteria, $con);
+			}
+		}
+		$this->lastRelDivisionActividadDocenteCriteria = $criteria;
+
+		return $this->collRelDivisionActividadDocentes;
+	}
+
+
+	
+	public function getRelDivisionActividadDocentesJoinDocente($criteria = null, $con = null)
+	{
+				include_once 'lib/model/om/BaseRelDivisionActividadDocentePeer.php';
+		if ($criteria === null) {
+			$criteria = new Criteria();
+		}
+		elseif ($criteria instanceof Criteria)
+		{
+			$criteria = clone $criteria;
+		}
+
+		if ($this->collRelDivisionActividadDocentes === null) {
+			if ($this->isNew()) {
+				$this->collRelDivisionActividadDocentes = array();
+			} else {
+
+				$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinDocente($criteria, $con);
+			}
+		} else {
+									
+			$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+			if (!isset($this->lastRelDivisionActividadDocenteCriteria) || !$this->lastRelDivisionActividadDocenteCriteria->equals($criteria)) {
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinDocente($criteria, $con);
+			}
+		}
+		$this->lastRelDivisionActividadDocenteCriteria = $criteria;
+
+		return $this->collRelDivisionActividadDocentes;
+	}
+
+
+	
+	public function getRelDivisionActividadDocentesJoinActividad($criteria = null, $con = null)
+	{
+				include_once 'lib/model/om/BaseRelDivisionActividadDocentePeer.php';
+		if ($criteria === null) {
+			$criteria = new Criteria();
+		}
+		elseif ($criteria instanceof Criteria)
+		{
+			$criteria = clone $criteria;
+		}
+
+		if ($this->collRelDivisionActividadDocentes === null) {
+			if ($this->isNew()) {
+				$this->collRelDivisionActividadDocentes = array();
+			} else {
+
+				$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinActividad($criteria, $con);
+			}
+		} else {
+									
+			$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+			if (!isset($this->lastRelDivisionActividadDocenteCriteria) || !$this->lastRelDivisionActividadDocenteCriteria->equals($criteria)) {
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinActividad($criteria, $con);
+			}
+		}
+		$this->lastRelDivisionActividadDocenteCriteria = $criteria;
+
+		return $this->collRelDivisionActividadDocentes;
+	}
+
+
+	
+	public function getRelDivisionActividadDocentesJoinRepeticion($criteria = null, $con = null)
+	{
+				include_once 'lib/model/om/BaseRelDivisionActividadDocentePeer.php';
+		if ($criteria === null) {
+			$criteria = new Criteria();
+		}
+		elseif ($criteria instanceof Criteria)
+		{
+			$criteria = clone $criteria;
+		}
+
+		if ($this->collRelDivisionActividadDocentes === null) {
+			if ($this->isNew()) {
+				$this->collRelDivisionActividadDocentes = array();
+			} else {
+
+				$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinRepeticion($criteria, $con);
+			}
+		} else {
+									
+			$criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->getId());
+
+			if (!isset($this->lastRelDivisionActividadDocenteCriteria) || !$this->lastRelDivisionActividadDocenteCriteria->equals($criteria)) {
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinRepeticion($criteria, $con);
+			}
+		}
+		$this->lastRelDivisionActividadDocenteCriteria = $criteria;
+
+		return $this->collRelDivisionActividadDocentes;
+	}
+
 } 
\ No newline at end of file

Modified: prosistem/alba/trunk/alba/lib/model/om/BaseRelDivisionActividadDocente.php
===================================================================
--- prosistem/alba/trunk/alba/lib/model/om/BaseRelDivisionActividadDocente.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/lib/model/om/BaseRelDivisionActividadDocente.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -25,6 +25,10 @@
 
 
 	
+	protected $fk_evento_id = 0;
+
+
+	
 	protected $fk_repeticion_id = 0;
 
 
@@ -56,6 +60,9 @@
 	protected $aRepeticion;
 
 	
+	protected $aEvento;
+
+	
 	protected $alreadyInSave = false;
 
 	
@@ -90,6 +97,13 @@
 	}
 
 	
+	public function getFkEventoId()
+	{
+
+		return $this->fk_evento_id;
+	}
+
+	
 	public function getFkRepeticionId()
 	{
 
@@ -237,6 +251,20 @@
 
 	} 
 	
+	public function setFkEventoId($v)
+	{
+
+		if ($this->fk_evento_id !== $v || $v === 0) {
+			$this->fk_evento_id = $v;
+			$this->modifiedColumns[] = RelDivisionActividadDocentePeer::FK_EVENTO_ID;
+		}
+
+		if ($this->aEvento !== null && $this->aEvento->getId() !== $v) {
+			$this->aEvento = null;
+		}
+
+	} 
+	
 	public function setFkRepeticionId($v)
 	{
 
@@ -331,21 +359,23 @@
 
 			$this->fk_docente_id = $rs->getInt($startcol + 3);
 
-			$this->fk_repeticion_id = $rs->getInt($startcol + 4);
+			$this->fk_evento_id = $rs->getInt($startcol + 4);
 
-			$this->fecha_inicio = $rs->getTimestamp($startcol + 5, null);
+			$this->fk_repeticion_id = $rs->getInt($startcol + 5);
 
-			$this->fecha_fin = $rs->getTimestamp($startcol + 6, null);
+			$this->fecha_inicio = $rs->getTimestamp($startcol + 6, null);
 
-			$this->hora_inicio = $rs->getTime($startcol + 7, null);
+			$this->fecha_fin = $rs->getTimestamp($startcol + 7, null);
 
-			$this->hora_fin = $rs->getTime($startcol + 8, null);
+			$this->hora_inicio = $rs->getTime($startcol + 8, null);
 
+			$this->hora_fin = $rs->getTime($startcol + 9, null);
+
 			$this->resetModified();
 
 			$this->setNew(false);
 
-						return $startcol + 9; 
+						return $startcol + 10; 
 		} catch (Exception $e) {
 			throw new PropelException("Error populating RelDivisionActividadDocente object", $e);
 		}
@@ -431,7 +461,14 @@
 				$this->setRepeticion($this->aRepeticion);
 			}
 
+			if ($this->aEvento !== null) {
+				if ($this->aEvento->isModified()) {
+					$affectedRows += $this->aEvento->save($con);
+				}
+				$this->setEvento($this->aEvento);
+			}
 
+
 						if ($this->isModified()) {
 				if ($this->isNew()) {
 					$pk = RelDivisionActividadDocentePeer::doInsert($this, $con);
@@ -504,7 +541,13 @@
 				}
 			}
 
+			if ($this->aEvento !== null) {
+				if (!$this->aEvento->validate($columns)) {
+					$failureMap = array_merge($failureMap, $this->aEvento->getValidationFailures());
+				}
+			}
 
+
 			if (($retval = RelDivisionActividadDocentePeer::doValidate($this, $columns)) !== true) {
 				$failureMap = array_merge($failureMap, $retval);
 			}
@@ -541,18 +584,21 @@
 				return $this->getFkDocenteId();
 				break;
 			case 4:
+				return $this->getFkEventoId();
+				break;
+			case 5:
 				return $this->getFkRepeticionId();
 				break;
-			case 5:
+			case 6:
 				return $this->getFechaInicio();
 				break;
-			case 6:
+			case 7:
 				return $this->getFechaFin();
 				break;
-			case 7:
+			case 8:
 				return $this->getHoraInicio();
 				break;
-			case 8:
+			case 9:
 				return $this->getHoraFin();
 				break;
 			default:
@@ -569,11 +615,12 @@
 			$keys[1] => $this->getFkDivisionId(),
 			$keys[2] => $this->getFkActividadId(),
 			$keys[3] => $this->getFkDocenteId(),
-			$keys[4] => $this->getFkRepeticionId(),
-			$keys[5] => $this->getFechaInicio(),
-			$keys[6] => $this->getFechaFin(),
-			$keys[7] => $this->getHoraInicio(),
-			$keys[8] => $this->getHoraFin(),
+			$keys[4] => $this->getFkEventoId(),
+			$keys[5] => $this->getFkRepeticionId(),
+			$keys[6] => $this->getFechaInicio(),
+			$keys[7] => $this->getFechaFin(),
+			$keys[8] => $this->getHoraInicio(),
+			$keys[9] => $this->getHoraFin(),
 		);
 		return $result;
 	}
@@ -602,18 +649,21 @@
 				$this->setFkDocenteId($value);
 				break;
 			case 4:
+				$this->setFkEventoId($value);
+				break;
+			case 5:
 				$this->setFkRepeticionId($value);
 				break;
-			case 5:
+			case 6:
 				$this->setFechaInicio($value);
 				break;
-			case 6:
+			case 7:
 				$this->setFechaFin($value);
 				break;
-			case 7:
+			case 8:
 				$this->setHoraInicio($value);
 				break;
-			case 8:
+			case 9:
 				$this->setHoraFin($value);
 				break;
 		} 	}
@@ -627,11 +677,12 @@
 		if (array_key_exists($keys[1], $arr)) $this->setFkDivisionId($arr[$keys[1]]);
 		if (array_key_exists($keys[2], $arr)) $this->setFkActividadId($arr[$keys[2]]);
 		if (array_key_exists($keys[3], $arr)) $this->setFkDocenteId($arr[$keys[3]]);
-		if (array_key_exists($keys[4], $arr)) $this->setFkRepeticionId($arr[$keys[4]]);
-		if (array_key_exists($keys[5], $arr)) $this->setFechaInicio($arr[$keys[5]]);
-		if (array_key_exists($keys[6], $arr)) $this->setFechaFin($arr[$keys[6]]);
-		if (array_key_exists($keys[7], $arr)) $this->setHoraInicio($arr[$keys[7]]);
-		if (array_key_exists($keys[8], $arr)) $this->setHoraFin($arr[$keys[8]]);
+		if (array_key_exists($keys[4], $arr)) $this->setFkEventoId($arr[$keys[4]]);
+		if (array_key_exists($keys[5], $arr)) $this->setFkRepeticionId($arr[$keys[5]]);
+		if (array_key_exists($keys[6], $arr)) $this->setFechaInicio($arr[$keys[6]]);
+		if (array_key_exists($keys[7], $arr)) $this->setFechaFin($arr[$keys[7]]);
+		if (array_key_exists($keys[8], $arr)) $this->setHoraInicio($arr[$keys[8]]);
+		if (array_key_exists($keys[9], $arr)) $this->setHoraFin($arr[$keys[9]]);
 	}
 
 	
@@ -643,6 +694,7 @@
 		if ($this->isColumnModified(RelDivisionActividadDocentePeer::FK_DIVISION_ID)) $criteria->add(RelDivisionActividadDocentePeer::FK_DIVISION_ID, $this->fk_division_id);
 		if ($this->isColumnModified(RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID)) $criteria->add(RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, $this->fk_actividad_id);
 		if ($this->isColumnModified(RelDivisionActividadDocentePeer::FK_DOCENTE_ID)) $criteria->add(RelDivisionActividadDocentePeer::FK_DOCENTE_ID, $this->fk_docente_id);
+		if ($this->isColumnModified(RelDivisionActividadDocentePeer::FK_EVENTO_ID)) $criteria->add(RelDivisionActividadDocentePeer::FK_EVENTO_ID, $this->fk_evento_id);
 		if ($this->isColumnModified(RelDivisionActividadDocentePeer::FK_REPETICION_ID)) $criteria->add(RelDivisionActividadDocentePeer::FK_REPETICION_ID, $this->fk_repeticion_id);
 		if ($this->isColumnModified(RelDivisionActividadDocentePeer::FECHA_INICIO)) $criteria->add(RelDivisionActividadDocentePeer::FECHA_INICIO, $this->fecha_inicio);
 		if ($this->isColumnModified(RelDivisionActividadDocentePeer::FECHA_FIN)) $criteria->add(RelDivisionActividadDocentePeer::FECHA_FIN, $this->fecha_fin);
@@ -684,6 +736,8 @@
 
 		$copyObj->setFkDocenteId($this->fk_docente_id);
 
+		$copyObj->setFkEventoId($this->fk_evento_id);
+
 		$copyObj->setFkRepeticionId($this->fk_repeticion_id);
 
 		$copyObj->setFechaInicio($this->fecha_inicio);
@@ -838,4 +892,34 @@
 		return $this->aRepeticion;
 	}
 
+	
+	public function setEvento($v)
+	{
+
+
+		if ($v === null) {
+			$this->setFkEventoId('0');
+		} else {
+			$this->setFkEventoId($v->getId());
+		}
+
+
+		$this->aEvento = $v;
+	}
+
+
+	
+	public function getEvento($con = null)
+	{
+				include_once 'lib/model/om/BaseEventoPeer.php';
+
+		if ($this->aEvento === null && ($this->fk_evento_id !== null)) {
+
+			$this->aEvento = EventoPeer::retrieveByPK($this->fk_evento_id, $con);
+
+			
+		}
+		return $this->aEvento;
+	}
+
 } 
\ No newline at end of file

Modified: prosistem/alba/trunk/alba/lib/model/om/BaseRelDivisionActividadDocentePeer.php
===================================================================
--- prosistem/alba/trunk/alba/lib/model/om/BaseRelDivisionActividadDocentePeer.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/lib/model/om/BaseRelDivisionActividadDocentePeer.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -13,7 +13,7 @@
 	const CLASS_DEFAULT = 'lib.model.RelDivisionActividadDocente';
 
 	
-	const NUM_COLUMNS = 9;
+	const NUM_COLUMNS = 10;
 
 	
 	const NUM_LAZY_LOAD_COLUMNS = 0;
@@ -32,6 +32,9 @@
 	const FK_DOCENTE_ID = 'rel_division_actividad_docente.FK_DOCENTE_ID';
 
 	
+	const FK_EVENTO_ID = 'rel_division_actividad_docente.FK_EVENTO_ID';
+
+	
 	const FK_REPETICION_ID = 'rel_division_actividad_docente.FK_REPETICION_ID';
 
 	
@@ -52,18 +55,18 @@
 
 	
 	private static $fieldNames = array (
-		BasePeer::TYPE_PHPNAME => array ('Id', 'FkDivisionId', 'FkActividadId', 'FkDocenteId', 'FkRepeticionId', 'FechaInicio', 'FechaFin', 'HoraInicio', 'HoraFin', ),
-		BasePeer::TYPE_COLNAME => array (RelDivisionActividadDocentePeer::ID, RelDivisionActividadDocentePeer::FK_DIVISION_ID, RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, RelDivisionActividadDocentePeer::FK_DOCENTE_ID, RelDivisionActividadDocentePeer::FK_REPETICION_ID, RelDivisionActividadDocentePeer::FECHA_INICIO, RelDivisionActividadDocentePeer::FECHA_FIN, RelDivisionActividadDocentePeer::HORA_INICIO, RelDivisionActividadDocentePeer::HORA_FIN, ),
-		BasePeer::TYPE_FIELDNAME => array ('id', 'fk_division_id', 'fk_actividad_id', 'fk_docente_id', 'fk_repeticion_id', 'fecha_inicio', 'fecha_fin', 'hora_inicio', 'hora_fin', ),
-		BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, )
+		BasePeer::TYPE_PHPNAME => array ('Id', 'FkDivisionId', 'FkActividadId', 'FkDocenteId', 'FkEventoId', 'FkRepeticionId', 'FechaInicio', 'FechaFin', 'HoraInicio', 'HoraFin', ),
+		BasePeer::TYPE_COLNAME => array (RelDivisionActividadDocentePeer::ID, RelDivisionActividadDocentePeer::FK_DIVISION_ID, RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, RelDivisionActividadDocentePeer::FK_DOCENTE_ID, RelDivisionActividadDocentePeer::FK_EVENTO_ID, RelDivisionActividadDocentePeer::FK_REPETICION_ID, RelDivisionActividadDocentePeer::FECHA_INICIO, RelDivisionActividadDocentePeer::FECHA_FIN, RelDivisionActividadDocentePeer::HORA_INICIO, RelDivisionActividadDocentePeer::HORA_FIN, ),
+		BasePeer::TYPE_FIELDNAME => array ('id', 'fk_division_id', 'fk_actividad_id', 'fk_docente_id', 'fk_evento_id', 'fk_repeticion_id', 'fecha_inicio', 'fecha_fin', 'hora_inicio', 'hora_fin', ),
+		BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, )
 	);
 
 	
 	private static $fieldKeys = array (
-		BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'FkDivisionId' => 1, 'FkActividadId' => 2, 'FkDocenteId' => 3, 'FkRepeticionId' => 4, 'FechaInicio' => 5, 'FechaFin' => 6, 'HoraInicio' => 7, 'HoraFin' => 8, ),
-		BasePeer::TYPE_COLNAME => array (RelDivisionActividadDocentePeer::ID => 0, RelDivisionActividadDocentePeer::FK_DIVISION_ID => 1, RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID => 2, RelDivisionActividadDocentePeer::FK_DOCENTE_ID => 3, RelDivisionActividadDocentePeer::FK_REPETICION_ID => 4, RelDivisionActividadDocentePeer::FECHA_INICIO => 5, RelDivisionActividadDocentePeer::FECHA_FIN => 6, RelDivisionActividadDocentePeer::HORA_INICIO => 7, RelDivisionActividadDocentePeer::HORA_FIN => 8, ),
-		BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'fk_division_id' => 1, 'fk_actividad_id' => 2, 'fk_docente_id' => 3, 'fk_repeticion_id' => 4, 'fecha_inicio' => 5, 'fecha_fin' => 6, 'hora_inicio' => 7, 'hora_fin' => 8, ),
-		BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, )
+		BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'FkDivisionId' => 1, 'FkActividadId' => 2, 'FkDocenteId' => 3, 'FkEventoId' => 4, 'FkRepeticionId' => 5, 'FechaInicio' => 6, 'FechaFin' => 7, 'HoraInicio' => 8, 'HoraFin' => 9, ),
+		BasePeer::TYPE_COLNAME => array (RelDivisionActividadDocentePeer::ID => 0, RelDivisionActividadDocentePeer::FK_DIVISION_ID => 1, RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID => 2, RelDivisionActividadDocentePeer::FK_DOCENTE_ID => 3, RelDivisionActividadDocentePeer::FK_EVENTO_ID => 4, RelDivisionActividadDocentePeer::FK_REPETICION_ID => 5, RelDivisionActividadDocentePeer::FECHA_INICIO => 6, RelDivisionActividadDocentePeer::FECHA_FIN => 7, RelDivisionActividadDocentePeer::HORA_INICIO => 8, RelDivisionActividadDocentePeer::HORA_FIN => 9, ),
+		BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'fk_division_id' => 1, 'fk_actividad_id' => 2, 'fk_docente_id' => 3, 'fk_evento_id' => 4, 'fk_repeticion_id' => 5, 'fecha_inicio' => 6, 'fecha_fin' => 7, 'hora_inicio' => 8, 'hora_fin' => 9, ),
+		BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, )
 	);
 
 	
@@ -125,6 +128,8 @@
 
 		$criteria->addSelectColumn(RelDivisionActividadDocentePeer::FK_DOCENTE_ID);
 
+		$criteria->addSelectColumn(RelDivisionActividadDocentePeer::FK_EVENTO_ID);
+
 		$criteria->addSelectColumn(RelDivisionActividadDocentePeer::FK_REPETICION_ID);
 
 		$criteria->addSelectColumn(RelDivisionActividadDocentePeer::FECHA_INICIO);
@@ -326,6 +331,34 @@
 
 
 	
+	public static function doCountJoinEvento(Criteria $criteria, $distinct = false, $con = null)
+	{
+				$criteria = clone $criteria;
+		
+				$criteria->clearSelectColumns()->clearOrderByColumns();
+		if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
+			$criteria->addSelectColumn(RelDivisionActividadDocentePeer::COUNT_DISTINCT);
+		} else {
+			$criteria->addSelectColumn(RelDivisionActividadDocentePeer::COUNT);
+		}
+		
+				foreach($criteria->getGroupByColumns() as $column)
+		{
+			$criteria->addSelectColumn($column);
+		}
+
+		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
+
+		$rs = RelDivisionActividadDocentePeer::doSelectRS($criteria, $con);
+		if ($rs->next()) {
+			return $rs->getInt(1);
+		} else {
+						return 0;
+		}
+	}
+
+
+	
 	public static function doSelectJoinDivision(Criteria $c, $con = null)
 	{
 		$c = clone $c;
@@ -514,6 +547,53 @@
 
 
 	
+	public static function doSelectJoinEvento(Criteria $c, $con = null)
+	{
+		$c = clone $c;
+
+				if ($c->getDbName() == Propel::getDefaultDB()) {
+			$c->setDbName(self::DATABASE_NAME);
+		}
+
+		RelDivisionActividadDocentePeer::addSelectColumns($c);
+		$startcol = (RelDivisionActividadDocentePeer::NUM_COLUMNS - RelDivisionActividadDocentePeer::NUM_LAZY_LOAD_COLUMNS) + 1;
+		EventoPeer::addSelectColumns($c);
+
+		$c->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
+		$rs = BasePeer::doSelect($c, $con);
+		$results = array();
+
+		while($rs->next()) {
+
+			$omClass = RelDivisionActividadDocentePeer::getOMClass();
+
+			$cls = Propel::import($omClass);
+			$obj1 = new $cls();
+			$obj1->hydrate($rs);
+
+			$omClass = EventoPeer::getOMClass();
+
+			$cls = Propel::import($omClass);
+			$obj2 = new $cls();
+			$obj2->hydrate($rs, $startcol);
+
+			$newObject = true;
+			foreach($results as $temp_obj1) {
+				$temp_obj2 = $temp_obj1->getEvento(); 				if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
+					$newObject = false;
+										$temp_obj2->addRelDivisionActividadDocente($obj1); 					break;
+				}
+			}
+			if ($newObject) {
+				$obj2->initRelDivisionActividadDocentes();
+				$obj2->addRelDivisionActividadDocente($obj1); 			}
+			$results[] = $obj1;
+		}
+		return $results;
+	}
+
+
+	
 	public static function doCountJoinAll(Criteria $criteria, $distinct = false, $con = null)
 	{
 		$criteria = clone $criteria;
@@ -538,6 +618,8 @@
 
 		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_REPETICION_ID, RepeticionPeer::ID);
 
+		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
+
 		$rs = RelDivisionActividadDocentePeer::doSelectRS($criteria, $con);
 		if ($rs->next()) {
 			return $rs->getInt(1);
@@ -571,6 +653,9 @@
 		RepeticionPeer::addSelectColumns($c);
 		$startcol6 = $startcol5 + RepeticionPeer::NUM_COLUMNS;
 
+		EventoPeer::addSelectColumns($c);
+		$startcol7 = $startcol6 + EventoPeer::NUM_COLUMNS;
+
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_DIVISION_ID, DivisionPeer::ID);
 
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_DOCENTE_ID, DocentePeer::ID);
@@ -579,6 +664,8 @@
 
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_REPETICION_ID, RepeticionPeer::ID);
 
+		$c->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
+
 		$rs = BasePeer::doSelect($c, $con);
 		$results = array();
 		
@@ -683,6 +770,29 @@
 				$obj5->addRelDivisionActividadDocente($obj1);
 			}
 
+				
+					
+			$omClass = EventoPeer::getOMClass();
+
+	
+			$cls = Propel::import($omClass);
+			$obj6 = new $cls();
+			$obj6->hydrate($rs, $startcol6);
+			
+			$newObject = true;
+			for ($j=0, $resCount=count($results); $j < $resCount; $j++) {
+				$temp_obj1 = $results[$j];
+				$temp_obj6 = $temp_obj1->getEvento(); 				if ($temp_obj6->getPrimaryKey() === $obj6->getPrimaryKey()) {
+					$newObject = false;
+					$temp_obj6->addRelDivisionActividadDocente($obj1); 					break;
+				}
+			}
+			
+			if ($newObject) {
+				$obj6->initRelDivisionActividadDocentes();
+				$obj6->addRelDivisionActividadDocente($obj1);
+			}
+
 			$results[] = $obj1;
 		}
 		return $results;
@@ -712,6 +822,8 @@
 
 		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_REPETICION_ID, RepeticionPeer::ID);
 
+		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
+
 		$rs = RelDivisionActividadDocentePeer::doSelectRS($criteria, $con);
 		if ($rs->next()) {
 			return $rs->getInt(1);
@@ -744,6 +856,8 @@
 
 		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_REPETICION_ID, RepeticionPeer::ID);
 
+		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
+
 		$rs = RelDivisionActividadDocentePeer::doSelectRS($criteria, $con);
 		if ($rs->next()) {
 			return $rs->getInt(1);
@@ -776,6 +890,8 @@
 
 		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_REPETICION_ID, RepeticionPeer::ID);
 
+		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
+
 		$rs = RelDivisionActividadDocentePeer::doSelectRS($criteria, $con);
 		if ($rs->next()) {
 			return $rs->getInt(1);
@@ -808,6 +924,8 @@
 
 		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, ActividadPeer::ID);
 
+		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
+
 		$rs = RelDivisionActividadDocentePeer::doSelectRS($criteria, $con);
 		if ($rs->next()) {
 			return $rs->getInt(1);
@@ -818,6 +936,40 @@
 
 
 	
+	public static function doCountJoinAllExceptEvento(Criteria $criteria, $distinct = false, $con = null)
+	{
+				$criteria = clone $criteria;
+		
+				$criteria->clearSelectColumns()->clearOrderByColumns();
+		if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
+			$criteria->addSelectColumn(RelDivisionActividadDocentePeer::COUNT_DISTINCT);
+		} else {
+			$criteria->addSelectColumn(RelDivisionActividadDocentePeer::COUNT);
+		}
+		
+				foreach($criteria->getGroupByColumns() as $column)
+		{
+			$criteria->addSelectColumn($column);
+		}
+
+		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_DIVISION_ID, DivisionPeer::ID);
+
+		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_DOCENTE_ID, DocentePeer::ID);
+
+		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, ActividadPeer::ID);
+
+		$criteria->addJoin(RelDivisionActividadDocentePeer::FK_REPETICION_ID, RepeticionPeer::ID);
+
+		$rs = RelDivisionActividadDocentePeer::doSelectRS($criteria, $con);
+		if ($rs->next()) {
+			return $rs->getInt(1);
+		} else {
+						return 0;
+		}
+	}
+
+
+	
 	public static function doSelectJoinAllExceptDivision(Criteria $c, $con = null)
 	{
 		$c = clone $c;
@@ -838,13 +990,18 @@
 		RepeticionPeer::addSelectColumns($c);
 		$startcol5 = $startcol4 + RepeticionPeer::NUM_COLUMNS;
 
+		EventoPeer::addSelectColumns($c);
+		$startcol6 = $startcol5 + EventoPeer::NUM_COLUMNS;
+
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_DOCENTE_ID, DocentePeer::ID);
 
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, ActividadPeer::ID);
 
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_REPETICION_ID, RepeticionPeer::ID);
 
+		$c->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
 
+
 		$rs = BasePeer::doSelect($c, $con);
 		$results = array();
 		
@@ -922,6 +1079,28 @@
 				$obj4->addRelDivisionActividadDocente($obj1);
 			}
 
+			$omClass = EventoPeer::getOMClass();
+
+	
+			$cls = Propel::import($omClass);
+			$obj5  = new $cls();
+			$obj5->hydrate($rs, $startcol5);
+			
+			$newObject = true;
+			for ($j=0, $resCount=count($results); $j < $resCount; $j++) {
+				$temp_obj1 = $results[$j];
+				$temp_obj5 = $temp_obj1->getEvento(); 				if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
+					$newObject = false;
+					$temp_obj5->addRelDivisionActividadDocente($obj1);
+					break;
+				}
+			}
+			
+			if ($newObject) {
+				$obj5->initRelDivisionActividadDocentes();
+				$obj5->addRelDivisionActividadDocente($obj1);
+			}
+
 			$results[] = $obj1;
 		}
 		return $results;
@@ -949,13 +1128,18 @@
 		RepeticionPeer::addSelectColumns($c);
 		$startcol5 = $startcol4 + RepeticionPeer::NUM_COLUMNS;
 
+		EventoPeer::addSelectColumns($c);
+		$startcol6 = $startcol5 + EventoPeer::NUM_COLUMNS;
+
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_DIVISION_ID, DivisionPeer::ID);
 
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, ActividadPeer::ID);
 
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_REPETICION_ID, RepeticionPeer::ID);
 
+		$c->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
 
+
 		$rs = BasePeer::doSelect($c, $con);
 		$results = array();
 		
@@ -1033,6 +1217,28 @@
 				$obj4->addRelDivisionActividadDocente($obj1);
 			}
 
+			$omClass = EventoPeer::getOMClass();
+
+	
+			$cls = Propel::import($omClass);
+			$obj5  = new $cls();
+			$obj5->hydrate($rs, $startcol5);
+			
+			$newObject = true;
+			for ($j=0, $resCount=count($results); $j < $resCount; $j++) {
+				$temp_obj1 = $results[$j];
+				$temp_obj5 = $temp_obj1->getEvento(); 				if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
+					$newObject = false;
+					$temp_obj5->addRelDivisionActividadDocente($obj1);
+					break;
+				}
+			}
+			
+			if ($newObject) {
+				$obj5->initRelDivisionActividadDocentes();
+				$obj5->addRelDivisionActividadDocente($obj1);
+			}
+
 			$results[] = $obj1;
 		}
 		return $results;
@@ -1060,13 +1266,18 @@
 		RepeticionPeer::addSelectColumns($c);
 		$startcol5 = $startcol4 + RepeticionPeer::NUM_COLUMNS;
 
+		EventoPeer::addSelectColumns($c);
+		$startcol6 = $startcol5 + EventoPeer::NUM_COLUMNS;
+
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_DIVISION_ID, DivisionPeer::ID);
 
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_DOCENTE_ID, DocentePeer::ID);
 
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_REPETICION_ID, RepeticionPeer::ID);
 
+		$c->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
 
+
 		$rs = BasePeer::doSelect($c, $con);
 		$results = array();
 		
@@ -1144,6 +1355,28 @@
 				$obj4->addRelDivisionActividadDocente($obj1);
 			}
 
+			$omClass = EventoPeer::getOMClass();
+
+	
+			$cls = Propel::import($omClass);
+			$obj5  = new $cls();
+			$obj5->hydrate($rs, $startcol5);
+			
+			$newObject = true;
+			for ($j=0, $resCount=count($results); $j < $resCount; $j++) {
+				$temp_obj1 = $results[$j];
+				$temp_obj5 = $temp_obj1->getEvento(); 				if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
+					$newObject = false;
+					$temp_obj5->addRelDivisionActividadDocente($obj1);
+					break;
+				}
+			}
+			
+			if ($newObject) {
+				$obj5->initRelDivisionActividadDocentes();
+				$obj5->addRelDivisionActividadDocente($obj1);
+			}
+
 			$results[] = $obj1;
 		}
 		return $results;
@@ -1171,13 +1404,18 @@
 		ActividadPeer::addSelectColumns($c);
 		$startcol5 = $startcol4 + ActividadPeer::NUM_COLUMNS;
 
+		EventoPeer::addSelectColumns($c);
+		$startcol6 = $startcol5 + EventoPeer::NUM_COLUMNS;
+
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_DIVISION_ID, DivisionPeer::ID);
 
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_DOCENTE_ID, DocentePeer::ID);
 
 		$c->addJoin(RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, ActividadPeer::ID);
 
+		$c->addJoin(RelDivisionActividadDocentePeer::FK_EVENTO_ID, EventoPeer::ID);
 
+
 		$rs = BasePeer::doSelect($c, $con);
 		$results = array();
 		
@@ -1255,12 +1493,172 @@
 				$obj4->addRelDivisionActividadDocente($obj1);
 			}
 
+			$omClass = EventoPeer::getOMClass();
+
+	
+			$cls = Propel::import($omClass);
+			$obj5  = new $cls();
+			$obj5->hydrate($rs, $startcol5);
+			
+			$newObject = true;
+			for ($j=0, $resCount=count($results); $j < $resCount; $j++) {
+				$temp_obj1 = $results[$j];
+				$temp_obj5 = $temp_obj1->getEvento(); 				if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
+					$newObject = false;
+					$temp_obj5->addRelDivisionActividadDocente($obj1);
+					break;
+				}
+			}
+			
+			if ($newObject) {
+				$obj5->initRelDivisionActividadDocentes();
+				$obj5->addRelDivisionActividadDocente($obj1);
+			}
+
 			$results[] = $obj1;
 		}
 		return $results;
 	}
 
+
 	
+	public static function doSelectJoinAllExceptEvento(Criteria $c, $con = null)
+	{
+		$c = clone $c;
+
+								if ($c->getDbName() == Propel::getDefaultDB()) {
+			$c->setDbName(self::DATABASE_NAME);
+		}
+
+		RelDivisionActividadDocentePeer::addSelectColumns($c);
+		$startcol2 = (RelDivisionActividadDocentePeer::NUM_COLUMNS - RelDivisionActividadDocentePeer::NUM_LAZY_LOAD_COLUMNS) + 1;
+
+		DivisionPeer::addSelectColumns($c);
+		$startcol3 = $startcol2 + DivisionPeer::NUM_COLUMNS;
+
+		DocentePeer::addSelectColumns($c);
+		$startcol4 = $startcol3 + DocentePeer::NUM_COLUMNS;
+
+		ActividadPeer::addSelectColumns($c);
+		$startcol5 = $startcol4 + ActividadPeer::NUM_COLUMNS;
+
+		RepeticionPeer::addSelectColumns($c);
+		$startcol6 = $startcol5 + RepeticionPeer::NUM_COLUMNS;
+
+		$c->addJoin(RelDivisionActividadDocentePeer::FK_DIVISION_ID, DivisionPeer::ID);
+
+		$c->addJoin(RelDivisionActividadDocentePeer::FK_DOCENTE_ID, DocentePeer::ID);
+
+		$c->addJoin(RelDivisionActividadDocentePeer::FK_ACTIVIDAD_ID, ActividadPeer::ID);
+
+		$c->addJoin(RelDivisionActividadDocentePeer::FK_REPETICION_ID, RepeticionPeer::ID);
+
+
+		$rs = BasePeer::doSelect($c, $con);
+		$results = array();
+		
+		while($rs->next()) {
+
+			$omClass = RelDivisionActividadDocentePeer::getOMClass();
+
+			$cls = Propel::import($omClass);
+			$obj1 = new $cls();
+			$obj1->hydrate($rs);		
+
+			$omClass = DivisionPeer::getOMClass();
+
+	
+			$cls = Propel::import($omClass);
+			$obj2  = new $cls();
+			$obj2->hydrate($rs, $startcol2);
+			
+			$newObject = true;
+			for ($j=0, $resCount=count($results); $j < $resCount; $j++) {
+				$temp_obj1 = $results[$j];
+				$temp_obj2 = $temp_obj1->getDivision(); 				if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
+					$newObject = false;
+					$temp_obj2->addRelDivisionActividadDocente($obj1);
+					break;
+				}
+			}
+			
+			if ($newObject) {
+				$obj2->initRelDivisionActividadDocentes();
+				$obj2->addRelDivisionActividadDocente($obj1);
+			}
+
+			$omClass = DocentePeer::getOMClass();
+
+	
+			$cls = Propel::import($omClass);
+			$obj3  = new $cls();
+			$obj3->hydrate($rs, $startcol3);
+			
+			$newObject = true;
+			for ($j=0, $resCount=count($results); $j < $resCount; $j++) {
+				$temp_obj1 = $results[$j];
+				$temp_obj3 = $temp_obj1->getDocente(); 				if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
+					$newObject = false;
+					$temp_obj3->addRelDivisionActividadDocente($obj1);
+					break;
+				}
+			}
+			
+			if ($newObject) {
+				$obj3->initRelDivisionActividadDocentes();
+				$obj3->addRelDivisionActividadDocente($obj1);
+			}
+
+			$omClass = ActividadPeer::getOMClass();
+
+	
+			$cls = Propel::import($omClass);
+			$obj4  = new $cls();
+			$obj4->hydrate($rs, $startcol4);
+			
+			$newObject = true;
+			for ($j=0, $resCount=count($results); $j < $resCount; $j++) {
+				$temp_obj1 = $results[$j];
+				$temp_obj4 = $temp_obj1->getActividad(); 				if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
+					$newObject = false;
+					$temp_obj4->addRelDivisionActividadDocente($obj1);
+					break;
+				}
+			}
+			
+			if ($newObject) {
+				$obj4->initRelDivisionActividadDocentes();
+				$obj4->addRelDivisionActividadDocente($obj1);
+			}
+
+			$omClass = RepeticionPeer::getOMClass();
+
+	
+			$cls = Propel::import($omClass);
+			$obj5  = new $cls();
+			$obj5->hydrate($rs, $startcol5);
+			
+			$newObject = true;
+			for ($j=0, $resCount=count($results); $j < $resCount; $j++) {
+				$temp_obj1 = $results[$j];
+				$temp_obj5 = $temp_obj1->getRepeticion(); 				if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
+					$newObject = false;
+					$temp_obj5->addRelDivisionActividadDocente($obj1);
+					break;
+				}
+			}
+			
+			if ($newObject) {
+				$obj5->initRelDivisionActividadDocentes();
+				$obj5->addRelDivisionActividadDocente($obj1);
+			}
+
+			$results[] = $obj1;
+		}
+		return $results;
+	}
+
+	
 	public static function getTableMap()
 	{
 		return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME);

Modified: prosistem/alba/trunk/alba/lib/model/om/BaseRepeticion.php
===================================================================
--- prosistem/alba/trunk/alba/lib/model/om/BaseRepeticion.php	2007-05-02 18:37:35 UTC (rev 4600)
+++ prosistem/alba/trunk/alba/lib/model/om/BaseRepeticion.php	2007-05-02 19:44:12 UTC (rev 4601)
@@ -574,7 +574,42 @@
 		return $this->collRelDivisionActividadDocentes;
 	}
 
+
 	
+	public function getRelDivisionActividadDocentesJoinEvento($criteria = null, $con = null)
+	{
+				include_once 'lib/model/om/BaseRelDivisionActividadDocentePeer.php';
+		if ($criteria === null) {
+			$criteria = new Criteria();
+		}
+		elseif ($criteria instanceof Criteria)
+		{
+			$criteria = clone $criteria;
+		}
+
+		if ($this->collRelDivisionActividadDocentes === null) {
+			if ($this->isNew()) {
+				$this->collRelDivisionActividadDocentes = array();
+			} else {
+
+				$criteria->add(RelDivisionActividadDocentePeer::FK_REPETICION_ID, $this->getId());
+
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinEvento($criteria, $con);
+			}
+		} else {
+									
+			$criteria->add(RelDivisionActividadDocentePeer::FK_REPETICION_ID, $this->getId());
+
+			if (!isset($this->lastRelDivisionActividadDocenteCriteria) || !$this->lastRelDivisionActividadDocenteCriteria->equals($criteria)) {
+				$this->collRelDivisionActividadDocentes = RelDivisionActividadDocentePeer::doSelectJoinEvento($criteria, $con);
+			}
+		}
+		$this->lastRelDivisionActividadDocenteCriteria = $criteria;
+
+		return $this->collRelDivisionActividadDocentes;
+	}
+
+	
 	public function initDocenteHorarios()
 	{
 		if ($this->collDocenteHorarios === null) {




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