public function executeEmendamenti() { $this->_getAndCheckParlamentare(); $title = 'Emendamenti presentati in Parlamento da '; if ($this->carica) { if ($this->carica->getTipoCaricaId() == 1) { $ramo = 'C'; } if ($this->carica->getTipoCaricaId() == 4 || $this->carica->getTipoCaricaId() == 5) { $ramo = 'S'; } $this->ramo = $ramo == 'C' ? 'camera' : 'senato'; $title .= $this->ramo == 'camera' ? ' On. ' : ' Sen. '; } $this->getResponse()->setTitle($title . $this->parlamentare->getNome() . ' ' . $this->parlamentare->getCognome() . ' - ' . sfConfig::get('app_main_title')); $this->response->addMeta('description', 'La lista aggiornata quotidianamente di tutti gli emendamenti presentati da ' . $this->parlamentare->getNome() . ' ' . $this->parlamentare->getCognome(), true); $this->session = $this->getUser(); // reset dei filtri se richiesto esplicitamente if ($this->getRequestParameter('reset_filters', 'false') == 'true') { $this->getRequest()->getParameterHolder()->set('filter_ddls_collegati', '0'); $this->getRequest()->getParameterHolder()->set('filter_act_firma', '0'); // $this->getRequest()->getParameterHolder()->set('filter_act_ramo', '0'); // $this->getRequest()->getParameterHolder()->set('filter_act_stato', '0'); } $this->processEmendamentiFilters(array('ddls_collegati', 'act_firma')); // if all filters were reset, then restart if ($this->getRequestParameter('filter_ddls_collegati') == '0' && $this->getRequestParameter('filter_act_firma') == '0') { $this->redirect('@parlamentare_emendamenti?id=' . $this->getRequestParameter('id') . '&slug=' . $this->parlamentare->getSlug()); } //$this->processEmendamentiSort(); if ($this->hasRequestParameter('itemsperpage')) { $this->getUser()->setAttribute('itemsperpage', $this->getRequestParameter('itemsperpage')); } $itemsperpage = $this->getUser()->getAttribute('itemsperpage', sfConfig::get('app_pagination_limit')); $this->pager = new sfPropelPager('OppCaricaHasEmendamento', $itemsperpage); // estrazione cariche parlamentare $cariche_ids = $this->parlamentare->getCaricheCorrentiIds(); /* // estrae tutti i ddl collegati $c=new Criteria(); $c->addJoin(OppEmendamentoPeer::ID, OppCaricaHasEmendamentoPeer::EMENDAMENTO_ID); $c->add(OppCaricaHasEmendamentoPeer::CARICA_ID, $cariche_ids, Criteria::IN); $emens=OppEmendamentoPeer::doSelect($c); $this->ddls_collegati=array(); foreach($emens as $em) { $ddls=$em->getOppAttoHasEmendamentos(); $ddl=$ddls[0]->getOppAtto(); if (!in_array( $ddl,$this->ddls_collegati)) $this->ddls_collegati[]=$ddl; } */ $this->ddls_collegati = empty($cariche_ids) ? $cariche_ids : OppCaricaHasEmendamentoPeer::getDDLCollegatiCariche($cariche_ids); $c = new Criteria(); $c->addJoin(OppEmendamentoPeer::ID, OppCaricaHasEmendamentoPeer::EMENDAMENTO_ID); $c->add(OppCaricaHasEmendamentoPeer::CARICA_ID, $cariche_ids, Criteria::IN); $this->addEmendamentiFiltersCriteria($c); //$this->addAttiSortCriteria($c); $c->addDescendingOrderByColumn(OppEmendamentoPeer::DATA_PRES); $this->pager->setCriteria($c); $this->pager->setPage($this->getRequestParameter('page', 1)); $this->pager->setPeerMethod('doSelectJoinOppEmendamento'); $this->pager->init(); }