[Alba-desarrollo] SVN Alba r4186 - in prosistem/alba/trunk/alba/apps/principal/modules: boletin/templates informes/actions informes/templates

commits en pressenter.com.ar commits en pressenter.com.ar
Mie Feb 14 19:07:59 CET 2007


Author: josx
Date: 2007-02-14 15:07:58 -0300 (Wed, 14 Feb 2007)
New Revision: 4186

Added:
   prosistem/alba/trunk/alba/apps/principal/modules/informes/templates/boletinFormularioSuccess.php
Modified:
   prosistem/alba/trunk/alba/apps/principal/modules/boletin/templates/mostrarSuccess.php
   prosistem/alba/trunk/alba/apps/principal/modules/informes/actions/actions.class.php
Log:
Agregue al menu de informes la posibilidad de buscar alumno e imprimir su boletin

Modified: prosistem/alba/trunk/alba/apps/principal/modules/boletin/templates/mostrarSuccess.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/boletin/templates/mostrarSuccess.php	2007-02-14 16:39:00 UTC (rev 4185)
+++ prosistem/alba/trunk/alba/apps/principal/modules/boletin/templates/mostrarSuccess.php	2007-02-14 18:07:58 UTC (rev 4186)
@@ -87,9 +87,10 @@
 
 <br>
 <?php } ?>
+<?php if($vista != 'imprimir') { ?>
 <ul class="sf_admin_actions">
 <li><? echo button_to('Ir a la cuenta','cuenta?action=verCompleta&id='.$alumno->getFkCuentaId(),array('class'=>'sf_admin_action_list'))?></li>
 </ul>
-
+<? } ?>
 </body>
 </html>
\ No newline at end of file

Modified: prosistem/alba/trunk/alba/apps/principal/modules/informes/actions/actions.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/informes/actions/actions.class.php	2007-02-14 16:39:00 UTC (rev 4185)
+++ prosistem/alba/trunk/alba/apps/principal/modules/informes/actions/actions.class.php	2007-02-14 18:07:58 UTC (rev 4186)
@@ -43,9 +43,61 @@
  *
  */
 
-     public function handleErrorAlumnosPorDivisionListado() {
+
+    
+    private function _getDivisiones($establecimiento_id)  {
+        $optionsDivision = array();
+        $criteria = new Criteria();
+        $criteria->add(AnioPeer::FK_ESTABLECIMIENTO_ID, $establecimiento_id);
+        $divisiones = DivisionPeer::doSelectJoinAnio($criteria);
+        $optionsDivision['']  = "";
+        foreach($divisiones as $division) {
+            $optionsDivision[$division->getId()] = $division->getAnio()->getDescripcion()." ".$division->getDescripcion();
+        }
+        asort($optionsDivision);
+        return $optionsDivision;
+    
+    }
+
+
+
+    private function _getAlumnosPorDivision($division_id = '', $txt = '') {
+        $aAlumno = array();
+
+        $criteria = new Criteria();
+        if($division_id) {
+            $criteria->add(DivisionPeer::ID, $division_id);
+        }
+        $criteria->addJoin(RelAlumnoDivisionPeer::FK_ALUMNO_ID, AlumnoPeer::ID);
+        $criteria->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID);
+        $criteria->addJoin(DivisionPeer::FK_ANIO_ID, AnioPeer::ID);
+        
+        if($txt) {
+            $cton1 = $criteria->getNewCriterion(AlumnoPeer::NOMBRE, "%$txt%", Criteria::LIKE);
+            $cton2 = $criteria->getNewCriterion(AlumnoPeer::APELLIDO, "%$txt%", Criteria::LIKE);
+            $cton1->addOr($cton2);
+            $criteria->add($cton1);
+        }
+
+        $criteria->addAsColumn("alumno_id", AlumnoPeer::ID);
+        $criteria->addAsColumn("alumno_nombre", AlumnoPeer::NOMBRE);
+        $criteria->addAsColumn("alumno_apellido", AlumnoPeer::APELLIDO);
+        $criteria->addAsColumn("division_id", DivisionPeer::ID);
+        $criteria->addAsColumn("division_descripcion", DivisionPeer::DESCRIPCION);
+        $criteria->addAsColumn("anio_descripcion", AnioPeer::DESCRIPCION);
+
+        $alumnos = BasePeer::doSelect($criteria);
+        foreach($alumnos as $alumno) {
+            $aAlumno[] = (object) array( 'alumno_id' => $alumno[0],'alumno_nombre' => $alumno[1], 'alumno_apellido' => $alumno[2], 'division_id' => $alumno[3], 'division_nombre' => $alumno[4], 'anio_descripcion' => $alumno[5] );
+        }
+
+        return $aAlumno;
+    }   
+
+
+    public function handleErrorAlumnosPorDivisionListado() {
         $this->forward('informes','alumnosPorDivisionFormulario');
-     }
+    }
 
     public function executeAlumnosPorDivisionFormulario() {
         // inicializando variables
@@ -56,14 +108,7 @@
 
         // llenando el combo de division segun establecimiento
         $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id');
-        $criteria = new Criteria();
-        $criteria->add(AnioPeer::FK_ESTABLECIMIENTO_ID, $establecimiento_id);
-        $divisiones = DivisionPeer::doSelectJoinAnio($criteria);
-        $optionsDivision['']  = "";
-        foreach($divisiones as $division) {
-            $optionsDivision[$division->getId()] = $division->getAnio()->getDescripcion()." ".$division->getDescripcion();
-        }
-        asort($optionsDivision);
+        $optionsDivision = $this->_getDivisiones($establecimiento_id);
         
         // asignando variables para ser usadas en el template
         $this->optionsDivision = $optionsDivision;
@@ -88,7 +133,6 @@
         $criteria->addJoin(RelAlumnoDivisionPeer::FK_ALUMNO_ID, AlumnoPeer::ID);
         $criteria->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID);
         $criteria->addAscendingOrderByColumn(AlumnoPeer::APELLIDO);
-
         $alumnos = AlumnoPeer::doSelect($criteria);
 
         // asignando variables para ser usadas en el template        
@@ -112,44 +156,11 @@
 
         // llenando el combo de division segun establecimiento
         $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id');
-        $criteria = new Criteria();
-        $criteria->add(AnioPeer::FK_ESTABLECIMIENTO_ID, $establecimiento_id);
-        $divisiones = DivisionPeer::doSelectJoinAnio($criteria);
-        $optionsDivision[]  = "";
-        foreach($divisiones as $division) {
-            $optionsDivision[$division->getId()] = $division->getAnio()->getDescripcion()." ".$division->getDescripcion();
-        }
-        asort($optionsDivision);
+        $optionsDivision = $this->_getDivisiones($establecimiento_id);
        
         if ($this->getRequest()->getMethod() == sfRequest::POST) {
             // buscando alumnos
-            $criteria = new Criteria();
-            if($division_id) {
-                $criteria->add(DivisionPeer::ID, $division_id);
-            }
-            $criteria->addJoin(RelAlumnoDivisionPeer::FK_ALUMNO_ID, AlumnoPeer::ID);
-            $criteria->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID);
-            $criteria->addJoin(DivisionPeer::FK_ANIO_ID, AnioPeer::ID);
-        
-            if($txt) {
-                $cton1 = $criteria->getNewCriterion(AlumnoPeer::NOMBRE, "%$txt%", Criteria::LIKE);
-                $cton2 = $criteria->getNewCriterion(AlumnoPeer::APELLIDO, "%$txt%", Criteria::LIKE);
-                $cton1->addOr($cton2);
-                $criteria->add($cton1);
-            }
-
-            $criteria->addAsColumn("alumno_id", AlumnoPeer::ID);
-            $criteria->addAsColumn("alumno_nombre", AlumnoPeer::NOMBRE);
-            $criteria->addAsColumn("alumno_apellido", AlumnoPeer::APELLIDO);
-            $criteria->addAsColumn("division_id", DivisionPeer::ID);
-            $criteria->addAsColumn("division_descripcion", DivisionPeer::DESCRIPCION);
-            $criteria->addAsColumn("anio_descripcion", AnioPeer::DESCRIPCION);
-
-            $alumnos = BasePeer::doSelect($criteria);
-            foreach($alumnos as $alumno) {
-                $aAlumno[] = (object) array( 'alumno_id' => $alumno[0],'alumno_nombre' => $alumno[1], 'alumno_apellido' => $alumno[2], 'division_id' => $alumno[3], 'division_nombre' => $alumno[4], 'anio_descripcion' => $alumno[5] );
-            }
-    
+            $aAlumno = $this->_getAlumnosPorDivision($division_id, $txt);
         }
 
         // asignando variables para ser usadas en el template
@@ -204,44 +215,11 @@
 
         // llenando el combo de division segun establecimiento
         $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id');
-        $criteria = new Criteria();
-        $criteria->add(AnioPeer::FK_ESTABLECIMIENTO_ID, $establecimiento_id);
-        $divisiones = DivisionPeer::doSelectJoinAnio($criteria);
-        $optionsDivision[]  = "";
-        foreach($divisiones as $division) {
-            $optionsDivision[$division->getId()] = $division->getAnio()->getDescripcion()." ".$division->getDescripcion();
-        }
-        asort($optionsDivision);
+        $optionsDivision = $this->_getDivisiones($establecimiento_id);
        
         if ($this->getRequest()->getMethod() == sfRequest::POST) {
             // buscando alumnos
-            $criteria = new Criteria();
-            if($division_id) {
-                $criteria->add(DivisionPeer::ID, $division_id);
-            }
-            $criteria->addJoin(RelAlumnoDivisionPeer::FK_ALUMNO_ID, AlumnoPeer::ID);
-            $criteria->addJoin(RelAlumnoDivisionPeer::FK_DIVISION_ID, DivisionPeer::ID);
-            $criteria->addJoin(DivisionPeer::FK_ANIO_ID, AnioPeer::ID);
-        
-            if($txt) {
-                $cton1 = $criteria->getNewCriterion(AlumnoPeer::NOMBRE, "%$txt%", Criteria::LIKE);
-                $cton2 = $criteria->getNewCriterion(AlumnoPeer::APELLIDO, "%$txt%", Criteria::LIKE);
-                $cton1->addOr($cton2);
-                $criteria->add($cton1);
-            }
-
-            $criteria->addAsColumn("alumno_id", AlumnoPeer::ID);
-            $criteria->addAsColumn("alumno_nombre", AlumnoPeer::NOMBRE);
-            $criteria->addAsColumn("alumno_apellido", AlumnoPeer::APELLIDO);
-            $criteria->addAsColumn("division_id", DivisionPeer::ID);
-            $criteria->addAsColumn("division_descripcion", DivisionPeer::DESCRIPCION);
-            $criteria->addAsColumn("anio_descripcion", AnioPeer::DESCRIPCION);
-
-            $alumnos = BasePeer::doSelect($criteria);
-            foreach($alumnos as $alumno) {
-                $aAlumno[] = (object) array( 'alumno_id' => $alumno[0],'alumno_nombre' => $alumno[1], 'alumno_apellido' => $alumno[2], 'division_id' => $alumno[3], 'division_nombre' => $alumno[4], 'anio_descripcion' => $alumno[5] );
-            }
-    
+            $aAlumno = $this->_getAlumnosPorDivision($division_id, $txt);    
         }
 
         // asignando variables para ser usadas en el template
@@ -278,5 +256,40 @@
         $this->dia = date("d");
     }
 
+
+
+    public function executeBoletinFormulario() {
+        // inicializando variables
+        $optionsDivision = array();
+        $aAlumno  = array();        
+
+        // tomando los datos del formulario
+        $division_id = $this->getRequestParameter('division_id');
+        $txt = $this->getRequestParameter('txt');
+
+        // llenando el combo de division segun establecimiento
+        $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id');
+        $optionsDivision = $this->_getDivisiones($establecimiento_id);
+       
+        if ($this->getRequest()->getMethod() == sfRequest::POST) {
+            // buscando alumnos
+            $aAlumno = $this->_getAlumnosPorDivision($division_id, $txt);    
+        }
+
+        // asignando variables para ser usadas en el template
+        $this->optionsDivision = $optionsDivision;
+        $this->division_id = $division_id;
+        $this->txt = $txt;
+        $this->aAlumno = $aAlumno;
+        $this->vista = "imprimir";
+    }
+   
+
+    public function executeBoletinListado() {
+        $this->vista = 'imprimir';
+        $this->forward('boletin','mostrar');
+    }
+
+
 }
 ?>
\ No newline at end of file

Added: prosistem/alba/trunk/alba/apps/principal/modules/informes/templates/boletinFormularioSuccess.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/informes/templates/boletinFormularioSuccess.php	2007-02-14 16:39:00 UTC (rev 4185)
+++ prosistem/alba/trunk/alba/apps/principal/modules/informes/templates/boletinFormularioSuccess.php	2007-02-14 18:07:58 UTC (rev 4186)
@@ -0,0 +1,62 @@
+<h1>Informe: Boletines</h1>
+
+<?php echo form_tag('informes/boletinFormulario', 'id=sf_admin_edit_form name=sf_admin_edit_form multipart=true') ?>
+
+<fieldset id="sf_fieldset_none" class="">
+    <div class="form-row">
+        <?php echo label_for('Buscar', __('Buscar Alumnos:')) ?>
+        <?php echo input_tag('txt', $txt) ?>   
+    </div>
+
+    <div class="form-row">
+        <?php echo label_for('division', __('Division:')) ?>
+        <?php echo select_tag('division_id', options_for_select($optionsDivision, $division_id)) ?>
+    </div>
+</fieldset>
+
+ <ul class="sf_admin_actions">
+  <li><?php echo submit_tag(__('Buscar'), array (
+  'name' => 'Mostrar',
+  'class' => 'sf_admin_action_save',
+)) ?></li>
+</ul>
+
+</form>
+
+
+<? if (count($aAlumno) > 0) {
+    if ($txt) { ?>
+    Ustde busco -<?=$txt?>-
+    <? } ?>
+<h1>Alumnos</h1>
+<table cellspacing="0" class="sf_admin_list">
+  <thead>
+  <tr>
+    <th id="sf_admin_list_th_alumno"> Alumno</th>
+    <th id="sf_admin_list_th_sf_actions">Ver Informe</th>
+  </tr>
+  </thead>
+
+  <tbody>
+<?
+    $i = 0;
+    foreach($aAlumno as $alumno){
+?>
+  <tr class="sf_admin_row_0">
+    <td><?echo $alumno->alumno_apellido." ".$alumno->alumno_nombre; ?> ( <?=$alumno->anio_descripcion?> - <?=$alumno->division_nombre?> ) </td>
+    <td>
+    <ul class="sf_admin_td_actions">
+     <li><?php echo link_to(image_tag('/sf/images/sf_admin/edit_icon.png', array('alt' => 'editar', 'title' => 'Editar')) , 'informes?action=boletinListado&vista=imprimir&alumno_id='.$alumno->alumno_id."&division_id=".$alumno->division_id); ?></li>
+    </ul>
+    </td>
+  </tr>
+  <? } ?>
+  </tbody>
+</table>
+
+<? } else {
+    if ($txt) { ?>
+        Su b&uacute;squeda por -<?=$txt?>- no ha encontrado alumnos.
+    <? } 
+} 
+?>
\ No newline at end of file


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




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