예제 #1
0
 public function save($conn = null)
 {
     //Les dades de l'usuari que es mantenen són sempre les noves. Guardem la data d'actualització i avall.'
     $this->updateObject();
     $OU = $this->getObject();
     $OU->setActualitzacio(date('Y-m-d', time()));
     //Guardem la data d'actualització.'
     $OU->save();
     //Mirem si l'usuari està relacionat amb el SITE
     $OUS = UsuarisSitesPeer::initialize($OU->getUsuariId(), $OU->getSiteId())->getObject();
     $OUS->setNivellid($this->getValue('Nivells_idNivells'));
     $OUS->save();
 }
예제 #2
0
 public function save($conn = null)
 {
     //Les dades de l'usuari que es mantenen són sempre les noves. Guardem la data d'actualització i avall.
     $DNI = trim($this->getValue('DNI'));
     //Corregim el DNI, i trec els espais en blanc
     $OUsuari = UsuarisPeer::cercaDNI($DNI);
     //Busco la persona que he entrat
     if ($OUsuari instanceof Usuaris && is_null($this->getObject()->getUsuariId()) && $this->getOption('ADMIN')) {
         UsuarisSitesPeer::initialize($OUsuari->getUsuariid(), $this->getObject()->getSiteId())->getObject()->save();
     } else {
         $this->updateObject();
         $OU = $this->getObject();
         $OU->setActualitzacio(date('Y-m-d', time()));
         //Guardem la data d'actualització.
         $OU->save();
         //Mirem si l'usuari està relacionat amb el SITE
         $OUS = UsuarisSitesPeer::initialize($OU->getUsuariId(), $OU->getSiteId())->getObject();
         $OUS->setNivellid($this->getValue('Nivells_idNivells'));
         $OUS->save();
     }
 }
예제 #3
0
 /**
  * Vincula un usuari a un Site si no existeix.
  * @param $idU Usuari ID
  * @param $idS Site ID    
  * */
 public static function addSite($idU, $idS)
 {
     UsuarisSitesPeer::initialize($idU, $idS, false)->getObject()->save();
 }
예제 #4
0
 public function executeGConfigSuperAdmin(sfWebRequest $request)
 {
     $this->setLayout('gestio');
     $this->IDS = $this->getUser()->getSessionPar('idS');
     $this->accio = $request->getParameter('accio', 'C');
     $RSITES = $request->getParameter('sites', array('site_id' => 1));
     $this->FSITES = SitesPeer::initialize($RSITES['site_id']);
     $this->SITE = $request->getParameter('SITE', '');
     if ($request->hasParameter('BSAVESITE')) {
         $this->accio = 'SAVE_SITE';
     }
     if ($request->hasParameter('BDELETESITE')) {
         $this->accio = 'DELETE_SITE';
     }
     if ($request->hasParameter('BSAVEUSERSITE')) {
         $this->accio = 'SAVE_USER_SITE';
     }
     if ($request->hasParameter('BDELETEUSERSITE')) {
         $this->accio = 'DELETE_USER_SITE';
     }
     if ($request->hasParameter('BSEARCHUSERSITES')) {
         $this->accio = 'SEARCH_USER_SITES';
     }
     if ($request->hasParameter('BSAVEUSERMENU')) {
         $this->accio = 'SAVE_USER_MENU';
     }
     switch ($this->accio) {
         case 'SAVE_SITE':
             $this->FSITES->bind($RSITES);
             if ($this->FSITES->isValid()) {
                 $this->FSITES->save();
                 $this->getUser()->addLogAction($this->accio, 'gConfigSuperAdmin', $this->FSITES->getObject());
                 $this->FSITES = SitesPeer::initialize($this->FSITES->getObject()->getSiteId());
             }
             break;
         case 'DELETE_SITE':
             $this->FSITES->getObject()->setActiu(false)->save();
             $this->getUser()->addLogAction($this->accio, 'gConfigSuperAdmin', $this->FSITES->getObject());
             $this->FESPAIS = SitesPeer::initialize(0, $this->IDS);
             break;
         case 'SAVE_USER_SITE':
             $RP = $request->getParameter('dades');
             foreach ($RP as $RS) {
                 if ($RS['IDU'] > 0 && $RS['IDN'] > 0 && $this->SITE > 0) {
                     $OUS = UsuarisSitesPeer::initialize($RS['IDU'], $this->SITE, false)->getObject();
                     $OUS->setNivellId($RS['IDN']);
                     $OUS->setActiu(true);
                     $OUS->save();
                 }
             }
             $this->LUSERSITES = UsuarisSitesPeer::getSitesUsers($this->SITE, true);
             break;
         case 'DELETE_USER_SITE':
             $USUARI = $request->getParameter('USUARI');
             $SITE = $request->getParameter('SITE');
             $OUS = UsuarisSitesPeer::initialize($USUARI, $SITE)->getObject();
             if (!$OUS->isNew()) {
                 $OUS->setActiu(false);
                 $OUS->save();
                 $this->LUSERSITES = UsuarisSitesPeer::getUserSites($this->SITE);
             }
             break;
         case 'SAVE_USER_MENU':
             $IDS = $request->getParameter('MENU_SITES');
             $IDU = $request->getParameter('MENU_USUARIS');
             $LMENUS = $request->getParameter('MENU_DISPONIBLES');
             if (!empty($LMENUS)) {
                 UsuarisMenusPeer::doUpdateMy($IDU[0], $IDS[0], $LMENUS);
             }
             break;
         case 'SEARCH_USER_SITES':
             $IDS = $this->FMENUUSUARI->getValue('IDS');
             $IDU = $this->FMENUUSUARI->getValue('IDU');
             if (!empty($IDS)) {
                 $this->FMENUUSUARI->setWidgetUsers();
                 if (!empty($IDU)) {
                     $this->LMENUSUSUARI = GestioMenusPeer::getMenusUsuariArray($IDU, $IDS);
                 }
             }
             break;
         default:
             break;
     }
     //Cerquem per SITE, que és més fàcil
     //Mirem quins usuaris hi ha a un SITE relacionats com a adminstradors
     //Mirem quins menús tenen els usuaris d'un SITE en general (els menús del primer usuari)
     $OS = SitesPeer::retrieveByPK($this->SITE);
     if ($OS instanceof Sites) {
         $this->LUSERSITES = UsuarisSitesPeer::getSitesUsers($this->SITE, true);
         $this->LMENUSUSUARI = GestioMenusPeer::getMenusUsuariArray($this->USUARI, $this->SITE);
     } else {
         $this->USUARI = 0;
         $this->LUSERSITES = array();
         $this->LMENUSUSUARI = array();
     }
     $this->FMENUUSUARI = new ConfigSuperAdminMenusForm(null, array('IDS' => $this->IDS));
     $this->FMENUUSUARI->bind($request->getParameter('super_admin_menus'));
 }
예제 #5
0
 public function getNivellSite($idS)
 {
     return UsuarisSitesPeer::initialize($this->getUsuariid(), $idS)->getObject()->getNivellId();
 }