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/ma
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]', + )) ?> + + <?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]', + )) ?> + + <?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 + <?php echo radiobutton_tag('evento[frecuencia][]', '5', $seleccion_5, array('disabled' => !$activar_repeticion, 'onChange' => 'javascript:mostrarRegla(\'semana\')')) ?>Semanal + <?php echo radiobutton_tag('evento[frecuencia][]', '6', $seleccion_6, array('disabled' => !$activar_repeticion, 'onChange' => 'javascript:mostrarRegla(\'mensual\')')) ?>Mensual + <?php echo radiobutton_tag('evento[frecuencia][]', '7', $seleccion_7, array('disabled' => !$activar_repeticion, 'onChange' => 'javascript:mostrarRegla(\'anual\')')) ?>Anual + </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í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 + <?php echo checkbox_tag('evento[recurrencia_dias][]', '1', ($numero_binario[5])?true:false, array('disabled' => !$seleccion_5) ) ?>Lunes + <?php echo checkbox_tag('evento[recurrencia_dias][]', '2', ($numero_binario[4])?true:false, array('disabled' => !$seleccion_5) ) ?>Martes + <?php echo checkbox_tag('evento[recurrencia_dias][]', '3', ($numero_binario[3])?true:false, array('disabled' => !$seleccion_5) ) ?>Miercoles + <?php echo checkbox_tag('evento[recurrencia_dias][]', '4', ($numero_binario[2])?true:false, array('disabled' => !$seleccion_5) ) ?>Jueves + <?php echo checkbox_tag('evento[recurrencia_dias][]', '5', ($numero_binario[1])?true:false, array('disabled' => !$seleccion_5) ) ?>Viernes + <?php echo checkbox_tag('evento[recurrencia_dias][]', '6', ($numero_binario[0])?true:false, array('disabled' => !$seleccion_5) ) ?>Sabado + </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ón <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: + <?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: + <?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ó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ón } fk_actividad_id: { name: Actividad } fk_repeticion_id: { name: Repetició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ón Manual de horarios por divisió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 : ' ' ?> + </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 : ' ' ?> + </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 : ' ' ?> + </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álida + min: 1 + min_error: Seleccione una docente válida + +validarDivision: + class: sfNumberValidator + param: + nan_error: Seleccione una división válida + min: 1 + min_error: Seleccione una división válida + +validarActividad: + class: sfNumberValidator + param: + nan_error: Seleccione una actividad válida + min: 1 + min_error: Seleccione una actividad vá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) {
participants (1)
-
commits@pressenter.com.ar