public function executeGDocuments(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     $this->IDS = $this->getUser()->getSessionPar('idS');
     $this->MISSATGE = array();
     $this->IDD = $request->getParameter('IDD', 0);
     $accio = $this->getUser()->ParReqSesForm($request, 'accio', 'GP');
     $this->MODE = 'CERCA';
     if ($request->isMethod('POST')) {
         if ($request->hasParameter('B_VEURE_PERMISOS')) {
             $accio = 'VP';
         } elseif ($request->hasParameter('B_NOU')) {
             $accio = 'ND';
         } elseif ($request->hasParameter('B_SAVE_NOU')) {
             $accio = 'SD';
         } elseif ($request->hasParameter('B_UPDATE_PERMISOS')) {
             $accio = 'SAVE_UPDATE_PERMISOS';
         } elseif ($request->hasParameter('B_NEW_USER')) {
             $accio = 'NUP';
         } elseif ($request->hasParameter('B_NOU_USUARI_PERMISOS')) {
             $accio = 'SAVE_NOU_USUARI_PERMISOS';
         } elseif ($request->hasParameter('B_EDITA_DIRECTORI')) {
             $accio = 'ND';
         } elseif ($request->hasParameter('B_SAVE_EDITA_DIRECTORI')) {
             $accio = 'SD';
         } elseif ($request->hasParameter('B_DELETE_DIRECTORI')) {
             $accio = 'DELETE_DIRECTORI';
         }
     }
     //Aquest petit bloc és per si es modifica amb un POST el que s'ha enviat per GET
     $this->getUser()->setSessionPar('accio', $accio);
     switch ($accio) {
         case 'GP':
             $this->getUser()->addLogAction('inside', 'gDocuments');
             break;
             //Visualitza permisos que tenen els usuaris en el directori
         //Visualitza permisos que tenen els usuaris en el directori
         case 'VP':
             $this->LLISTAT_PERMISOS = AppDocumentsPermisosDirPeer::getLlistatPermisos($this->IDD, $this->IDS);
             $this->MODE = "CONSULTA";
             break;
             //Crea un directori nou
         //Crea un directori nou
         case 'ND':
             $this->FDir = AppDocumentsDirectorisPeer::initialize($this->IDD, $this->IDS);
             $this->MODE = "NOU";
             break;
             //Guarda un directori
         //Guarda un directori
         case 'SD':
             $RP = $request->getParameter('app_documents_directoris');
             $this->FDir = AppDocumentsDirectorisPeer::initialize($RP['idDirectori'], $this->IDS);
             $this->FDir->bind($RP);
             if ($this->FDir->isValid()) {
                 $this->FDir->save();
                 $IDU = $this->getUser()->getSessionPar('idU');
                 $idD = $this->FDir->getObject()->getIddirectori();
                 $this->getUser()->addLogAction($accio, 'gDocuments', $this->FDir->getObject());
                 //A més donem permisos a l'usuari que l'ha creat perquè pugui accedir-hi
                 if (AppDocumentsPermisosDirPeer::addUser($IDU, $idD, $this->IDS)) {
                     $this->getUser()->addLogAction($accio, 'gDocuments', $this->IDD);
                     $this->MODE = "CONSULTA";
                 } else {
                     $this->MISSATGE = array("Hi ha hagut algun error afegint l'usuari.");
                     $this->MODE = "NOU";
                 }
             } else {
                 $this->MISSATGE = array("Hi ha hagut algun error.");
                 $this->MODE = "NOU";
             }
             break;
             //Esborra un directori
         //Esborra un directori
         case 'DELETE_DIRECTORI':
             $RP = $request->getParameter('app_documents_directoris');
             $this->IDD = $RP['idDirectori'];
             $this->FDir = AppDocumentsDirectorisPeer::initialize($this->IDD, $this->IDS);
             $this->FDir->getObject()->setActiu(false)->save();
             $this->getUser()->addLogAction($accio, 'gDocuments', $this->FDir->getObject());
             break;
             //Actualitza un directori
         //Actualitza un directori
         case 'UD':
             $this->MODE = "NOU";
             break;
             //Guarda els nous permisos
         //Guarda els nous permisos
         case 'SAVE_UPDATE_PERMISOS':
             foreach ($request->getParameter('nivell') as $idU => $idN) {
                 if (!AppDocumentsPermisosDirPeer::addUser($idU, $this->IDD, $this->IDS, $idN)) {
                     $this->MISSATGE[] = "Problema guardant els permisos dels usuaris.";
                 }
             }
             $this->getUser()->addLogAction($accio, 'gDocuments', $request->getParameter('nivell'));
             $this->redirect('gestio/gDocuments?accio=VP&IDD=' . $this->IDD);
             break;
         case 'SAVE_NOU_USUARI_PERMISOS':
             $RP = $request->getParameter('app_documents_permisos_dir');
             $this->FPERMISOS = AppDocumentsPermisosDirPeer::initialize($RP['idUsuari'], $RP['idDirectori'], $this->IDS);
             $this->FPERMISOS->bind($RP);
             if ($this->FPERMISOS->isValid()) {
                 $this->FPERMISOS->save();
                 $this->getUser()->addLogAction($accio, 'gDocuments', $this->FPERMISOS->getObject());
                 $this->redirect('gestio/gDocuments?accio=VP&IDD=' . $this->IDD);
             } else {
                 $this->MISSATGE[] = "Hi ha hagut algun problema guardant els permisos";
             }
             $this->MODE = 'NOU_USUARI';
             break;
             //Afegim un usuari a un directori
         //Afegim un usuari a un directori
         case 'NUP':
             $this->FPERMISOS = AppDocumentsPermisosDirPeer::initialize($this->IDU, $this->IDD, $this->IDS);
             $this->MODE = "NOU_USUARI";
             break;
     }
     $this->LLISTAT_PERMISOS = AppDocumentsPermisosDirPeer::getLlistatPermisos($this->IDD, $this->IDS);
 }