Example #1
0
 /**
  * Add headers for IE8 etc to fix caching issues in those stupid browsers
  *
  * @overwrite to fix IE cacheing issues
  * @return void
  */
 public function disableCache()
 {
     $this->response->header(array('Pragma' => 'no-cache'));
     return parent::disableCache();
 }
 function view_fp($instit_id, $oferta_id, $ciclo = 0)
 {
     Controller::disableCache();
     $es_una_busqueda = false;
     $sesNames = array('instit' => 'Instit.id', 'plan' => 'Plan.nombre' . $instit_id . $oferta_id . $ciclo, 'sector' => 'Sector.id' . $instit_id . $oferta_id, 'page' => 'page' . $instit_id . $oferta_id . $ciclo);
     if (!empty($this->data['Plan']['nombre'])) {
         $this->data['Plan']['nombre'] = utf8_decode($this->data['Plan']['nombre']);
     }
     if (!empty($this->data)) {
         $es_una_busqueda = true;
         $this->Session->write($sesNames['instit'], $instit_id);
         $this->Session->write($sesNames['plan'], $this->data['Plan']['nombre']);
         $this->Session->write($sesNames['sector'], $this->data['Sector']['id']);
         $this->Session->write('page', '');
     } else {
         // busqueda en Session
         if ($this->Session->read($sesNames['instit']) == $instit_id) {
             if ($this->Session->read($sesNames['plan'])) {
                 $this->data['Plan']['nombre'] = $this->Session->read($sesNames['plan']);
             }
             if ($this->Session->read($sesNames['sector'])) {
                 $this->data['Sector']['id'] = $this->Session->read($sesNames['sector']);
             }
             $es_una_busqueda = true;
         }
     }
     $url_conditions = $this->passedArgs;
     if (!empty($this->passedArgs['page'])) {
         $this->Session->write($sesNames['page'], $this->passedArgs['page']);
     } elseif ($this->Session->read($sesNames['page'])) {
         $this->paginate['page'] = $this->Session->read($sesNames['page']);
     }
     $planNombre = null;
     if (!empty($this->data['Plan']['nombre'])) {
         $planNombre = $this->data['Plan']['nombre'];
     }
     if (!empty($this->passedArgs['Plan.nombre'])) {
         $planNombre = utf8_decode($this->passedArgs['Plan.nombre']);
     }
     if (!empty($planNombre)) {
         $this->paginate['conditions']['lower(Plan.nombre) SIMILAR TO ?'] = array(convertir_para_busqueda_avanzada($planNombre));
         $url_conditions['Plan.nombre'] = $planNombre;
     }
     $sectorId = null;
     if (!empty($this->data['Sector']['id'])) {
         $sectorId = $this->data['Sector']['id'];
     }
     if (!empty($this->passedArgs['Sector.id'])) {
         $sectorId = $this->passedArgs['Sector.id'];
     }
     if (!empty($sectorId)) {
         $this->paginate['conditions']['SectoresTitulo.sector_id'] = $sectorId;
         $url_conditions['Sector.id'] = $sectorId;
     }
     if (!empty($ciclo)) {
         $this->paginate['conditions']['Anio.ciclo_id'] = $ciclo;
     }
     $this->paginate['asociarAnio'] = true;
     $this->paginate['conditions']['Plan.oferta_id'] = $oferta_id;
     $this->paginate['conditions']['Instit.id'] = $instit_id;
     $this->paginate['order'] = array("Plan.nombre");
     $this->paginate['recursive'] = 3;
     // find completo
     $planes = $this->paginate();
     $newVecPlanes = array();
     $i = 0;
     foreach ($planes as &$plan) {
         if ($ciclo == 0) {
             $ultimo_ciclo = $this->Plan->getUltimoCiclo($plan['Plan']['id']);
             $plan['Plan']['matricula'] = $this->Plan->dameMatriculaDeCiclo($plan['Plan']['id'], $ultimo_ciclo);
         } else {
             $plan['Plan']['matricula'] = $this->Plan->dameMatriculaDeCiclo($plan['Plan']['id'], $ciclo);
         }
     }
     $sectores = $this->Plan->Instit->listSectoresConOferta($instit_id, $oferta_id);
     $ciclos_anios = $this->Plan->Instit->getCiclosLectivosXOferta($instit_id, $agregar_anio_actual = false);
     $ciclos_anios = $ciclos_anios[FP_ID]['ciclo'];
     $this->set('es_una_busqueda', $es_una_busqueda);
     $this->set('sectores', $sectores);
     $this->set('planes', $planes);
     $this->set('instit_id', $instit_id);
     $this->set('oferta_id', $oferta_id);
     $this->set('ciclo', $ciclo);
     $this->set('ciclos_anios', $ciclos_anios);
     $this->set('url_conditions', $url_conditions);
 }