public function executeGUsuaris(sfWebRequest $request) { $this->setLayout('gestio'); $this->IDS = $this->getUser()->getSessionPar('idS'); $this->IDU = $request->getParameter('id_usuari'); if ($request->getParameter('accio') == 'CC') { $this->getUser()->setSessionPar('cerca', array('text' => "")); $this->getUser()->setSessionPar('PAGINA', 1); $this->redirect('gestio/gUsuaris?accio=FC'); } $this->CERCA = $this->getUser()->ParReqSesForm($request, 'cerca', array('text' => "")); $this->PAGINA = $this->getUser()->ParReqSesForm($request, 'PAGINA', 1); $accio = $this->getUser()->ParReqSesForm($request, 'accio', 'FC'); //Inicialitzem el formulari de cerca $this->FCerca = new CercaForm(); $this->FCerca->bind($this->CERCA); $this->MODE = array('CONSULTA' => true, 'NOU', 'EDICIO', 'LLISTES', 'CURSOS', 'REGISTRES', 'GESTIO_APLICACIONS'); if ($request->hasParameter('BNOU')) { $accio = "N"; } if ($request->hasParameter('BCERCA')) { $accio = "FC"; $this->PAGINA = 1; } if ($request->hasParameter('BDESVINCULA')) { $accio = "DL"; } if ($request->hasParameter('BVINCULA')) { $accio = "VL"; } if ($request->hasParameter('BSAVE')) { $accio = "S"; } if ($request->hasParameter('BDELETE')) { $accio = "D"; } if ($request->hasParameter('BACTUALITZA_PERMISOS')) { $accio = "SGA"; } $this->getUser()->setSessionPar('accio', $accio); $this->getUser()->setSessionPar('pagina', $this->PAGINA); switch ($accio) { //Hem entrat a usuaris case 'CC': $this->getUser()->addLogAction('inside', 'gUsuaris'); break; //Nou usuari //Nou usuari case 'N': $this->MODE['NOU'] = true; $this->FUsuari = UsuarisPeer::initialize(0, $this->IDS, false); break; //Edita un usuari //Edita un usuari case 'E': $this->MODE['EDICIO'] = true; $this->FUsuari = UsuarisPeer::initialize($this->IDU, $this->IDS, false); break; //Esborra un usuari //Esborra un usuari case 'D': $RP = $request->getParameter('usuaris'); $this->IDU = $RP['UsuariID']; $this->FUsuari = UsuarisPeer::initialize($this->IDU, $this->IDS, false); $this->FUsuari->getObject()->setActiu(false)->save(); $this->getUser()->addLogAction($accio, 'gUsuaris', $this->FUsuari->getObject()); $this->redirect('gestio/gUsuaris?accio=FC'); break; //Mostra les llistes a les que està subscrit un usuari //Mostra les llistes a les que està subscrit un usuari case 'L': $this->USUARI = UsuarisPeer::initialize($this->IDU, $this->IDS, false)->getObject(); $this->LLISTAT_LLISTES = LlistesPeer::getLlistesDisponibles($this->IDU, $this->IDS); $this->MODE['LLISTES'] = true; break; //Mostra els cursos d'un usuari //Mostra els cursos d'un usuari case 'C': $this->USUARI = UsuarisPeer::initialize($this->IDU, $this->IDS, false)->getObject(); $this->MATRICULES = $this->USUARI->getMatricules(); $this->MODE['CURSOS'] = true; break; //Mostra les reserves que ha fet //Mostra les reserves que ha fet case 'R': $this->USUARI = UsuarisPeer::initialize($this->IDU, $this->IDS, false)->getObject(); $this->RESERVES = $this->USUARI->getReserves(); $this->MODE['REGISTRES'] = true; break; //Guarda un usuari //Guarda un usuari case 'S': $RP = $request->getParameter('usuaris'); $this->IDU = $RP['UsuariID']; $this->FUsuari = UsuarisPeer::initialize($this->IDU, $this->IDS, false); $this->FUsuari->bind($RP); if ($this->FUsuari->isValid()) { $this->FUsuari->save(); $this->getUser()->addLogAction($accio, 'gUsuaris', null, $this->FUsuari->getObject()); } $this->MODE['EDICIO'] = true; break; //Desvincula un usuari de la llista de correu //Desvincula un usuari de la llista de correu case 'DL': $D = $request->getParameter('D'); foreach ($D['IDL'] as $IDL) { LlistesPeer::desvincula($this->IDU, $IDL); } $this->getUser()->addLogAction($accio, 'gUsuaris', $D); $this->redirect("gestio/gUsuaris?accio=L"); break; //Vincula un usuari a la llista de correu //Vincula un usuari a la llista de correu case 'VL': $D = $request->getParameter('D'); foreach ($D['IDL'] as $IDL) { LlistesPeer::vincula($this->IDU, $IDL); } $this->getUser()->addLogAction($accio, 'gUsuaris', $D); $this->redirect("gestio/gUsuaris?accio=L"); break; //Gestió de permisos d'aplicacions pels usuaris //Gestió de permisos d'aplicacions pels usuaris case 'GA': $this->USUARI = UsuarisPeer::initialize($this->IDU, $this->IDS, false)->getObject(); $this->LLISTAT_PERMISOS = UsuarisAppsPeer::getPermisos($this->IDU, $this->IDS); $this->MODE['GESTIO_APLICACIONS'] = true; break; //Guarda la gestió d'aplicacions //Guarda la gestió d'aplicacions case 'SGA': $PERM = $request->getParameter('PERMIS', array()); UsuarisAppsPeer::save($PERM, $this->IDU, $this->IDS); $this->USUARI = UsuarisPeer::initialize($this->IDU, $this->IDS, false)->getObject(); $this->LLISTAT_PERMISOS = UsuarisAppsPeer::getPermisos($this->IDU, $this->IDS); $this->getUser()->addLogAction($accio, 'gUsuaris', $PERM); $this->MODE['GESTIO_APLICACIONS'] = true; break; } $this->PAGER_USUARIS = UsuarisPeer::cercaTotsCamps($this->CERCA['text'], $this->PAGINA, $this->IDS); }