public function executeGIncidencies(sfWebRequest $request) { $this->setLayout('gestio'); $this->IDS = $this->getUser()->getSessionPar('idS'); $this->IDU = $this->getUser()->getSessionPar('idU'); //Netegem cerca if ($request->getParameter('accio') == 'C') { $this->CERCA = $this->getUser()->setSessionPar('cerca', array('text' => '')); $this->PAGINA = $this->getUser()->setSessionPar('pagina', 1); } $this->PAGINA = $this->getUser()->ParReqSesForm($request, 'PAGINA', 1); $this->CERCA = $this->getUser()->ParReqSesForm($request, 'cerca', array('text' => "")); $this->accio = $this->getUser()->ParReqSesForm($request, 'accio', "C"); //Inicialitzem el formulari de cerca $this->FCerca = new CercaForm(); $this->FCerca->bind($this->CERCA); //Inicialitzem variables $this->MODE = array('CONSULTA' => true, 'NOU' => false, 'EDICIO' => false); if ($request->isMethod('POST') || $request->isMethod('GET')) { $accio = $request->getParameter('accio'); if ($request->hasParameter('BCERCA')) { $this->accio = 'C'; } if ($request->hasParameter('BNOU')) { $this->accio = 'N'; } if ($request->hasParameter('BSAVE')) { $this->accio = 'S'; } if ($request->hasParameter('BDELETE')) { $this->accio = 'D'; } } switch ($this->accio) { case 'C': $this->getUser()->addLogAction('inside', 'gIncidencies'); break; case 'N': $this->FIncidencia = IncidenciesPeer::initialize(0, $this->IDU, $this->IDS); $this->MODE['NOU'] = true; break; case 'E': $IDI = $request->getParameter('IDI'); $this->FIncidencia = IncidenciesPeer::initialize($IDI, $this->IDU, $this->IDS); $this->MODE['EDICIO'] = true; break; case 'S': $RP = $request->getParameter('incidencies'); $this->FIncidencia = IncidenciesPeer::initialize($RP['idIncidencia'], $this->IDU, $this->IDS); $this->FIncidencia->bind($RP); if ($this->FIncidencia->isValid()) { $this->FIncidencia->save(); $this->getUser()->addLogAction($accio, 'gIncidencies', $this->FIncidencia->getObject()); myUser::addLogTimeline('alta', 'incidencies', $this->getUser()->getSessionPar('idU'), $this->IDS, $this->FIncidencia->getObject()->getIdincidencia()); $this->redirect('gestio/gIncidencies?accio=C'); } $this->MODE['EDICIO'] = true; break; case 'D': $RP = $request->getParameter('incidencies'); $this->FIncidencia = IncidenciesPeer::initialize($RP['idIncidencia'], $this->IDU, $this->IDS); $this->FIncidencia->getObject()->setActiu(false)->save(); $this->getUser()->addLogAction($accio, 'gIncidencies', $this->FIncidencia->getObject()); myUser::addLogTimeline('baixa', 'incidencies', $this->getUser()->getSessionPar('idU'), $this->IDS, $RP['idIncidencia']); break; $this->INCIDENCIES = IncidenciesPeer::getIncidencies($this->CERCA['text'], $this->PAGINA, $this->IDS, true); } if ($accio == 'RESOLTES') { $this->INCIDENCIES = IncidenciesPeer::getIncidencies($this->CERCA['text'], $this->PAGINA, $this->IDS, false); } else { $this->INCIDENCIES = IncidenciesPeer::getIncidencies($this->CERCA['text'], $this->PAGINA, $this->IDS, true); } }