public function executeGCicles(sfWebRequest $request) { $this->setLayout('gestio'); $this->IDS = $this->getUser()->getSessionPar('idS'); $this->IDC = $request->getParameter('IDC'); $this->MODE = ""; $this->PAGINA = $request->getParameter('PAGINA'); //Inicialitzem el formulari de cerca $this->CERCA = $this->getUser()->ParReqSesForm($request, 'cerca', array('text' => '', 'select' => 1)); $this->FCerca = new CercaTextChoiceForm(); $this->FCerca->setChoice(array(1 => 'Actiu', 0 => 'Inactiu')); $this->FCerca->bind($this->CERCA); $accio = $request->getParameter('accio'); if ($request->hasParameter('BSAVE')) { $accio = 'SAVE'; } if ($request->hasParameter('BDELETE')) { $accio = 'DELETE'; } if ($request->hasParameter('BNOU')) { $accio = 'NOU'; } switch ($accio) { case 'C': $this->CERCA = $this->getUser()->setSessionPar('cerca', array('text' => '', 'select' => 1)); $this->FCerca->bind($this->CERCA); $this->getUser()->addLogAction('inside', 'gCicles'); break; case 'NOU': $this->MODE = 'NOU'; $this->FCICLES = CiclesPeer::initialize(0, $this->IDS); break; case 'EDITA': $this->MODE = 'EDITA'; $this->FCICLES = CiclesPeer::initialize($this->IDC, $this->IDS); break; case 'LLISTA': $this->FCICLES = CiclesPeer::initialize($this->IDC, $this->IDS); $this->LACTIVITATS = ActivitatsPeer::getActivitatsCicles($this->IDC, $this->IDS, false, null, false); break; case 'SAVE': $PC = $request->getParameter('cicles'); $this->FCICLES = CiclesPeer::initialize($PC['CicleID'], $this->IDS); $this->FCICLES->bind($PC, $request->getFiles('cicles')); if ($this->FCICLES->isValid()) { $this->FCICLES->save(); $this->getUser()->addLogAction($accio, 'gCicles', $this->FCICLES->getObject()); myUser::addLogTimeline('alta', 'cicles', $this->getUser()->getSessionPar('idU'), $this->IDS, $PC['CicleID']); } else { $this->MODE = 'EDITA'; } break; case 'DELETE': $PC = $request->getParameter('cicles'); $FC = CiclesPeer::initialize($PC['CicleID'], $this->IDS); $this->getUser()->addLogAction($accio, 'gCicles', $FC); myUser::addLogTimeline('baixa', 'cicles', $this->getUser()->getSessionPar('idU'), $this->IDS, $PC['CicleID']); $FC->getObject()->setActiu(false); $FC->getObject()->save(); break; case 'ACTIVACIO': $PC = $request->getParameter('IDC'); $OC = CiclesPeer::initialize($PC, $this->IDS)->getObject(); $OC->doActivaInactiva(); $OC->save(); break; } $this->CICLES = CiclesPeer::getList($this->PAGINA, $this->CERCA, $this->IDS); }