public function executeGPersonal(sfWebRequest $request) { $this->setLayout('gestio'); $this->IDS = $this->getUser()->getSessionPar('idS'); $this->CALENDARI = array(); $this->ERROR = array(); $this->USUARI = $this->getUser()->getSessionPar('idU'); //Identificador de línia $this->IDP = $request->getParameter('IDPERSONAL'); //Data i usuari a qui se li aplica l'assignació $this->DATE = $this->getUser()->ParReqSesForm($request, 'DATE', time()); $this->IDU = $this->getUser()->ParReqSesForm($request, 'IDU', time()); //Data del calendari $this->DATAI = $this->getUser()->ParReqSesForm($request, 'DATAI', time()); $accio = $request->getParameter('accio'); if ($request->hasParameter('BSAVE')) { $accio = "SAVE_CHANGE"; } if ($request->hasParameter('BDELETE')) { $accio = "DELETE_CHANGE"; } $this->CALENDARI = PersonalPeer::getHoraris($this->DATAI, $this->IDS); //Sempre carreguem el calendari //Cliquem un dia i apareix el llistat //Veiem la descripció switch ($accio) { case 'CC': $this->getUser()->addLogAction('inside', 'gPersonal'); break; case 'EDIT_DATE': $this->GPersonal_LoadDadesDia(); break; case 'NEW_CHANGE': $this->GPersonal_LoadDadesDia(); $this->FPERSONAL = PersonalPeer::initialize($this->USUARI, $this->DATE, $this->IDU, null, $this->IDS); break; case 'EDIT_CHANGE': $this->GPersonal_LoadDadesDia(); $this->FPERSONAL = PersonalPeer::initialize($this->USUARI, $this->DATE, $this->IDU, $this->IDP, $this->IDS); break; case 'SAVE_CHANGE': $RP = $request->getParameter('personal'); list($year, $month, $day) = explode("-", $RP['idData']); $idP = $RP['idPersonal']; $idU = $RP['idUsuari']; $idD = mktime(0, 0, 0, $month, $day, $year); $this->FPERSONAL = PersonalPeer::initialize($this->USUARI, $idD, $idU, $idP, $this->IDS); $this->FPERSONAL->bind($RP); $this->IDP = $this->FPERSONAL->getObject()->getIdpersonal(); $this->IDU = $idU; $this->DATE = $idD; if ($this->FPERSONAL->isValid()) { $this->FPERSONAL->save(); $this->getUser()->addLogAction($accio, 'gPersonal', $this->FPERSONAL->getObject()); $this->redirect('gestio/gPersonal?accio=EDIT_DATE&DATE=' . $idD . '&IDU=' . $idU); } else { $this->ERROR[] = "Hi ha algun problema amb el formulari."; } $this->GPersonal_LoadDadesDia(); break; case 'DELETE_CHANGE': $RP = $request->getParameter('personal'); list($year, $month, $day) = explode("-", $RP['idData']); $idP = $RP['idPersonal']; $idU = $RP['idUsuari']; $idD = mktime(0, 0, 0, $month, $day, $year); $OP = PersonalPeer::retrieveByPK($RP['idPersonal']); $OP->setDatabaixa(date('Y-m-d', time())); $OP->setUsuariupdateid($this->USUARI); $OP->setActiu(false); $OP->save(); $this->getUser()->addLogAction($accio, 'gPersonal', $OP); $this->redirect('gestio/gPersonal?accio=EDIT_DATE&DATE=' . $idD . '&IDU=' . $idU); break; } }