コード例 #1
0
ファイル: actions.class.php プロジェクト: nagiro/intra
 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);
 }