Author: josx Date: 2007-10-17 16:36:26 -0300 (Wed, 17 Oct 2007) New Revision: 5223 Modified: prosistem/alba/trunk/alba/apps/principal/modules/informes/actions/actions.class.php Log: Mejoras a el nuevo modulo de informes. Haciendo que envie varios grupos de datos para el tipo de informe alumno 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-10-17 18:52:30 UTC (rev 5222) +++ prosistem/alba/trunk/alba/apps/principal/modules/informes/actions/actions.class.php 2007-10-17 19:36:26 UTC (rev 5223) @@ -328,16 +328,31 @@ if($informe->getVariables()) { } else { */ + $aDato = array(); switch($informe->getTipoInforme()->getNombre()) { case 'alumno': $alumno = AlumnoPeer::retrieveByPk($this->getRequestParameter('alumno_id')); - $datos = $alumno->toArray(); + $aDato['alumno'] = $alumno->toArray(); + + $c = new Criteria(); + $c->add(RelAlumnoDivisionPeer::FK_ALUMNO_ID, $alumno->getId()); + $relAlumnoDivision = RelAlumnoDivisionPeer::doSelectOne($c); + $d = $relAlumnoDivision->getDivision(); + $division = array( + 'Anio' => ($d->getAnio())?$d->getAnio()->getDescripcion():'' , + 'Descripcion' => $d->getDescripcion(), + 'Turno' => ($d->getTurno())?$d->getTurno()->getDescripcion():'', + 'Orientacion' => ($d->getOrientacion())?$d->getOrientacion()->getDescripcion():'' ); + + $aDato['division'] = $division; + $aDato['fecha'] = array( 'Hoy' => date("d/m/Y")); + $aDato['informe'] = $informe->toArray(); break; default: $this->forward404(); } - $this->reporteTBSOO($informe->getAdjunto()->getRuta(), $informe->getTipoInforme()->getNombre(), $datos); + $this->reporteTBSOO($informe->getAdjunto()->getRuta(), $informe->getTipoInforme()->getNombre(), $aDato); return sfview::NONE; } @@ -375,7 +390,7 @@ - private function reporteTBSOO($archivo, $tipoinforme, $datos) { + private function reporteTBSOO($archivo, $tipoinforme, $aDato) { // Aquí hay que verificar las variables que están en ODT y verificar si existen // en los datos que envío. define('BASE',sfConfig::get('sf_app_module_dir') .'/informes/' .sfConfig::get('sf_app_module_lib_dir_name').'/'); @@ -389,7 +404,14 @@ $OOo->SetDataCharset('UTF8'); $OOo->NewDocFromTpl(sfConfig::get('sf_upload_dir').'/'.$archivo); $OOo->LoadXmlFromDoc('content.xml'); - $OOo->MergeField($tipoinforme, $datos); + + if(is_array($aDato)) { + foreach($aDato as $idx => $dato) { + $OOo->MergeField($idx, $dato); +// $OOo->MergeField($tipoinforme, $datos); + } + } + $OOo->SaveXmlToDoc(); header('Content-type: '.$OOo->GetMimetypeDoc()); header('Content-Length: '.filesize($OOo->GetPathnameDoc())); -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que est� limpio. For all your IT requirements visit: http://www.transtec.co.uk