SVN Alba r5494 - in prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision: actions templates
Author: josx Date: 2008-03-07 13:15:08 -0200 (Fri, 07 Mar 2008) New Revision: 5494 Added: prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/_listado_alumnos_division.php prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/asignarAlumnoSuccess.php Modified: prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/actions/actions.class.php prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/_listado_divisiones.php prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/busquedaDivisionSuccess.php prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/editSuccess.php Log: Ahora ya graba y listacorrectamente las relaciones entre alumnos y divisiones. Falta mejorar mucho la grafica. Modified: prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/actions/actions.class.php =================================================================== --- prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/actions/actions.class.php 2008-03-04 21:22:22 UTC (rev 5493) +++ prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/actions/actions.class.php 2008-03-07 15:15:08 UTC (rev 5494) @@ -155,21 +155,20 @@ } */ - $aDivision = DivisionPeer::doSelect($criteria); - $this->optionsDivision = $aDivision; + $this->optionsDivision = $this->getDivisionesDeEstablecimiento($criteria); + $this->alumnoDivision = $this->getAlumnosPorDivision(); } + function getDivisionesDeEstablecimiento($c = null ) { + $optionsDivision = array(); + if($c == null) { + $c = new Criteria(); + } - function executeEdit() { - - //Listado de alumnos - $c = new Criteria(); - $aAlumno = AlumnoPeer::doSelect($c); - $this->optionsAlumno = $aAlumno; - - //Listado de division - $c = new Criteria(); + //Listado de division del establecimiento + $c->add(AnioPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id')); + $c->addJoin(AnioPeer::ID, DivisionPeer::FK_ANIO_ID); $aDivision = DivisionPeer::doSelect($c); $this->division = $aDivision; @@ -177,15 +176,51 @@ foreach($aDivision as $division) { $optionsDivision[$division->getId()] = $division->__toString(); } - $this->optionsDivision = $optionsDivision; + return $optionsDivision; } - function executeSave() { - $aAlumno = $this->getRequest()->getParameterHolder()->get('alumno'); - $aDivision = $this->getRequest()->getParameterHolder()->get('division'); + function executeEdit() { + //Listado de alumnos + $c = new Criteria(); + $aAlumno = AlumnoPeer::doSelect($c); + $this->optionsAlumno = $aAlumno; + $this->optionsDivision = $this->getDivisionesDeEstablecimiento(); + $this->alumnoDivision = $this->getAlumnosPorDivision(); + } + + + + function getAlumnosPorDivision() { + // Alumnos por division + $aAlumnoDivision = array(); + $c = new Criteria(); + $c->clearSelectColumns(); + $c->addSelectColumn(AlumnoPeer::NOMBRE); + $c->addSelectColumn(AlumnoPeer::APELLIDO); + $c->addSelectColumn(DivisionPeer::ID); + $c->addSelectColumn(AlumnoPeer::ID); + $c->add(AnioPeer::FK_ESTABLECIMIENTO_ID, $this->getUser()->getAttribute('fk_establecimiento_id')); + $c->addJoin(AnioPeer::ID, DivisionPeer::FK_ANIO_ID); + $c->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID); + $c->addJoin(AlumnoPeer::ID, RelAlumnoDivisionPeer::FK_ALUMNO_ID); + $alumnosDivisiones = BasePeer::doSelect($c); + foreach($alumnosDivisiones as $alumnoDivision) { + if(!array_key_exists($alumnoDivision[2], $aAlumnoDivision)) { + $aAlumnoDivision["{$alumnoDivision['2']}"] = array(); + } + array_push( $aAlumnoDivision["{$alumnoDivision['2']}"], (object) array( 'nombre' => $alumnoDivision[1].", ".$alumnoDivision[0], 'id' => $alumnoDivision[3])); + } + return $aAlumnoDivision; + } + + + function save($aAlumno, $aDivision) { +// $aAlumno = $this->getRequest()->getParameterHolder()->get('alumno'); +// $aDivision = $this->getRequest()->getParameterHolder()->get('division'); + if(count($aAlumno) > 0) { if(count($aDivision) > 0) { foreach($aAlumno as $alumno_id) { @@ -198,7 +233,7 @@ RelAlumnoDivisionPeer::doDelete($c); // Doy de alta la nueva relacion entre alumno y division - $ad = new RelAlumnosDivision(); + $ad = new RelAlumnoDivision(); $ad->setFkAlumnoId($alumno_id); $ad->setFkDivisionId($division_id); $ad->save(); @@ -236,8 +271,18 @@ // return $this->redirect('relAlumnoDivision/list'); } public function executeAsignarAlumno(){ - print_r($_GET); - print_r($_POST); - } + $division_id = $this->getRequestParameter('division_id'); + $tmp = split('_', $this->getRequestParameter('id', '')); + $alumno_id = $tmp[1]; + $this->save(array($alumno_id), array($division_id)); + + $aAlumno = $this->getAlumnosPorDivision(); + if(array_key_exists($division_id, $aAlumno)) { + $this->alumnos = $aAlumno[$division_id]; + } else { + $this->alumnos = array(); + } + + } } ?> Added: prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/_listado_alumnos_division.php =================================================================== --- prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/_listado_alumnos_division.php (rev 0) +++ prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/_listado_alumnos_division.php 2008-03-07 15:15:08 UTC (rev 5494) @@ -0,0 +1,5 @@ +<?php + foreach ($alumnos as $alumno) { + echo $alumno->nombre."<br>"; + } +?> Modified: prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/_listado_divisiones.php =================================================================== --- prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/_listado_divisiones.php 2008-03-04 21:22:22 UTC (rev 5493) +++ prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/_listado_divisiones.php 2008-03-07 15:15:08 UTC (rev 5494) @@ -15,11 +15,21 @@ ?> <td> <?php echo $contenido;?> - <div id="division_<?php echo $indice?>" class="cart" style="position:relative;left:20px;"></div> + <div id="division_<?php echo $indice?>" class="cart" style="position:relative;left:20px;"> + +<?php + if (array_key_exists($indice, $alumnoDivision)) { + include_partial('relAlumnoDivision/listado_alumnos_division', array('alumnos' => $alumnoDivision[$indice])); + } +?> + + </div> <?php echo drop_receiving_element('division_'.$indice, array( - 'url' => 'relAlumnoDivision/asignarAlumno?division_id='.$indice, + 'url' => 'relAlumnoDivision?action=asignarAlumno&division_id='.$indice, 'accept' => 'alumno', - 'update' => 'division_'.$indice,)) ?> + 'script' => true, + 'update' => 'division_'.$indice, + 'method' => 'get')) ?> </td> <?php } ?> </tr> Added: prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/asignarAlumnoSuccess.php =================================================================== --- prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/asignarAlumnoSuccess.php (rev 0) +++ prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/asignarAlumnoSuccess.php 2008-03-07 15:15:08 UTC (rev 5494) @@ -0,0 +1 @@ +<?php include_partial('relAlumnoDivision/listado_alumnos_division', array('alumnos' => $alumnos)); ?> Modified: prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/busquedaDivisionSuccess.php =================================================================== --- prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/busquedaDivisionSuccess.php 2008-03-04 21:22:22 UTC (rev 5493) +++ prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/busquedaDivisionSuccess.php 2008-03-07 15:15:08 UTC (rev 5494) @@ -1 +1 @@ -<?php include_partial('relAlumnoDivision/listado_divisiones', array('optionsDivision' => $optionsDivision)) ?> +<?php include_partial('relAlumnoDivision/listado_divisiones', array('optionsDivision' => $optionsDivision, 'alumnoDivision' => $alumnoDivision )); ?> Modified: prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/editSuccess.php =================================================================== --- prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/editSuccess.php 2008-03-04 21:22:22 UTC (rev 5493) +++ prosistem/alba/trunk/alba/apps/principal/modules/relAlumnoDivision/templates/editSuccess.php 2008-03-07 15:15:08 UTC (rev 5494) @@ -1,16 +1,8 @@ -<?php -// auto-generated by sfPropelAdmin -// date: 2008/02/26 13:13:15 -?> <?php use_helper('Object', 'Validation', 'ObjectAdmin', 'I18N', 'Date') ?> <?php use_stylesheet('/sf/sf_admin/css/main') ?> <?php use_stylesheet('cart') ?> - <div id="sf_admin_container"> - -<h1><?php echo __('Asignar alumno a grado y sección', -array()) ?></h1> - +<h1><?php echo __('Asignar alumno a grado y sección', array()) ?></h1> <!-- Filtro Alumnos --> <?php echo form_remote_tag(array( 'update' => 'alumnos', @@ -61,10 +53,6 @@ )); echo $value ? $value : ' ' ?> -<!-- -<?php echo select_tag('filtro_divisiones', options_for_select(array('Todos', 'No Asignados',), 0)) ?> ---> - </div> <ul class="sf_admin_actions"> <li><?php echo submit_tag(__('Buscar'), array ( 'class' => 'sf_admin_action_save',)) ?></li> @@ -74,7 +62,7 @@ <!-- Divisiones--> <div id="divisiones"> -<?php include_partial('relAlumnoDivision/listado_divisiones', array('optionsDivision' => $optionsDivision)) ?> +<?php include_partial('relAlumnoDivision/listado_divisiones', array('optionsDivision' => $optionsDivision, 'alumnoDivision' => $alumnoDivision )) ?> </div> </div> \ No newline at end of file
participants (1)
-
commits@pressenter.com.ar