public function saveAppDocumentsPermisosDirList($con = null)
 {
     if (!$this->isValid()) {
         throw $this->getErrorSchema();
     }
     if (!isset($this->widgetSchema['app_documents_permisos_dir_list'])) {
         // somebody has unset this widget
         return;
     }
     if (null === $con) {
         $con = $this->getConnection();
     }
     $c = new Criteria();
     $c->add(AppDocumentsPermisosDirPeer::IDDIRECTORI, $this->object->getPrimaryKey());
     AppDocumentsPermisosDirPeer::doDelete($c, $con);
     $values = $this->getValue('app_documents_permisos_dir_list');
     if (is_array($values)) {
         foreach ($values as $value) {
             $obj = new AppDocumentsPermisosDir();
             $obj->setIddirectori($this->object->getPrimaryKey());
             $obj->setIdusuari($value);
             $obj->save();
         }
     }
 }
 public static function initialize($idU, $idD, $idS, $idN = NivellsPeer::CAP)
 {
     $O = AppDocumentsPermisosDirPeer::retrieveByPK($idU, $idD);
     if (!$O instanceof AppDocumentsPermisosDir) {
         $O = new AppDocumentsPermisosDir();
         $O->setidusuari($idU);
         $O->setIddirectori($idD);
         $O->setIdnivell($idN);
         $O->setSiteId($idS);
         $O->setActiu(true);
     }
     return new AppDocumentsPermisosDirForm($O, array('app' => AppsPeer::APP_DOCUMENTS, 'IDS' => $idS));
 }
 public static function getDirectoris($IDU = null, $idS)
 {
     $RET = array();
     $C = new Criteria();
     $C = self::getCriteriaActiu($C, $idS);
     $C = AppDocumentsPermisosDirPeer::getCriteriaActiu($C, $idS);
     if (!is_null($IDU)) {
         $C->add(AppDocumentsPermisosDirPeer::IDUSUARI, $IDU);
         $C->addJoin(AppDocumentsPermisosDirPeer::IDDIRECTORI, self::IDDIRECTORI);
     }
     foreach (self::doSelect($C) as $DIR) {
         $RET[$DIR->getPare()][$DIR->getIddirectori()] = $DIR->getNom();
     }
     return $RET;
 }
Beispiel #4
0
 public function executeGDocuments(sfWebRequest $request)
 {
     $this->IDS = $this->getUser()->getSessionPar('idS');
     $IDU = $this->getUser()->getSessionPar('idU');
     $IDD = $this->getUser()->ParReqSesForm($request, 'IDD', 1);
     $IDA = $this->getUser()->ParReqSesForm($request, 'IDA', null);
     $accio = $this->getUser()->ParReqSesForm($request, 'accio', 'CD');
     $this->MODE = "CONSULTA";
     if ($request->hasParameter('B_SAVE_UPLOAD')) {
         $accio = 'SAVE_UPLOAD';
     }
     $this->getUser()->setSessionPar('accio', $accio);
     switch ($accio) {
         //Mostrem el diàleg d'upload
         case 'UPLOAD':
             $this->FUPLOAD = AppDocumentsArxiusPeer::initialize($IDA, $IDD, $this->IDS);
             $this->MODE = 'UPLOAD';
             break;
             //Guardem un arxiu que hem carregat.
         //Guardem un arxiu que hem carregat.
         case 'SAVE_UPLOAD':
             $RP = $request->getParameter('app_documents_arxius');
             $this->FUPLOAD = AppDocumentsArxiusPeer::initialize($IDA, 0, $this->IDS);
             $this->FUPLOAD->bind($RP, $request->getFiles('app_documents_arxius'));
             if ($this->FUPLOAD->isValid()) {
                 $this->FUPLOAD->save();
                 $this->redirect('apps/gDocuments?accio=CD');
             }
             $this->MODE = 'UPLOAD';
             break;
             //Esborrem un arxiu guardat prèviament
         //Esborrem un arxiu guardat prèviament
         case 'DELETE':
             $this->FUPLOAD = AppDocumentsArxiusPeer::initialize($IDA, 0, $this->IDS)->setInactiu();
             $this->redirect('apps/gDocuments?accio=CD');
             break;
             //Fem un canvi de directori o tornem a una pantalla anterior i inicialitzem
         //Fem un canvi de directori o tornem a una pantalla anterior i inicialitzem
         case 'CD':
             $this->getUser()->setAttribute('IDA', null);
             break;
     }
     $this->ACTUAL = AppDocumentsDirectorisPeer::initialize($IDD, $this->IDS)->getObject();
     $this->getUser()->setAttribute('IDD', 1);
     $this->DIRECTORIS = AppDocumentsDirectorisPeer::getDirectoris($IDU, $this->IDS);
     $this->PERMISOS_AL_DIR = AppDocumentsPermisosDirPeer::getPermis($IDU, $IDD, $this->IDS);
     $this->setLayout('gestio_apps');
 }
Beispiel #5
0
 /**
  * This is a method for emulating ON DELETE CASCADE for DBs that don't support this
  * feature (like MySQL or SQLite).
  *
  * This method is not very speedy because it must perform a query first to get
  * the implicated records and then perform the deletes by calling those Peer classes.
  *
  * This method should be used within a transaction if possible.
  *
  * @param      Criteria $criteria
  * @param      PropelPDO $con
  * @return     int The number of affected rows (if supported by underlying database driver).
  */
 protected static function doOnDeleteCascade(Criteria $criteria, PropelPDO $con)
 {
     // initialize var to track total num of affected rows
     $affectedRows = 0;
     // first find the objects that are implicated by the $criteria
     $objects = UsuarisPeer::doSelect($criteria, $con);
     foreach ($objects as $obj) {
         // delete related AppDocumentsPermisos objects
         $criteria = new Criteria(AppDocumentsPermisosPeer::DATABASE_NAME);
         $criteria->add(AppDocumentsPermisosPeer::IDUSUARI, $obj->getUsuariid());
         $affectedRows += AppDocumentsPermisosPeer::doDelete($criteria, $con);
         // delete related AppDocumentsPermisosDir objects
         $criteria = new Criteria(AppDocumentsPermisosDirPeer::DATABASE_NAME);
         $criteria->add(AppDocumentsPermisosDirPeer::IDUSUARI, $obj->getUsuariid());
         $affectedRows += AppDocumentsPermisosDirPeer::doDelete($criteria, $con);
         // delete related Cessio objects
         $criteria = new Criteria(CessioPeer::DATABASE_NAME);
         $criteria->add(CessioPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += CessioPeer::doDelete($criteria, $con);
         // delete related Factures objects
         $criteria = new Criteria(FacturesPeer::DATABASE_NAME);
         $criteria->add(FacturesPeer::VALIDAUSUARI, $obj->getUsuariid());
         $affectedRows += FacturesPeer::doDelete($criteria, $con);
         // delete related Matricules objects
         $criteria = new Criteria(MatriculesPeer::DATABASE_NAME);
         $criteria->add(MatriculesPeer::USUARIS_USUARIID, $obj->getUsuariid());
         $affectedRows += MatriculesPeer::doDelete($criteria, $con);
         // delete related Missatges objects
         $criteria = new Criteria(MissatgesPeer::DATABASE_NAME);
         $criteria->add(MissatgesPeer::USUARIS_USUARIID, $obj->getUsuariid());
         $affectedRows += MissatgesPeer::doDelete($criteria, $con);
         // delete related Personal objects
         $criteria = new Criteria(PersonalPeer::DATABASE_NAME);
         $criteria->add(PersonalPeer::IDUSUARI, $obj->getUsuariid());
         $affectedRows += PersonalPeer::doDelete($criteria, $con);
         // delete related Reservaespais objects
         $criteria = new Criteria(ReservaespaisPeer::DATABASE_NAME);
         $criteria->add(ReservaespaisPeer::USUARIS_USUARIID, $obj->getUsuariid());
         $affectedRows += ReservaespaisPeer::doDelete($criteria, $con);
         // delete related UsuarisApps objects
         $criteria = new Criteria(UsuarisAppsPeer::DATABASE_NAME);
         $criteria->add(UsuarisAppsPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += UsuarisAppsPeer::doDelete($criteria, $con);
         // delete related UsuarisMenus objects
         $criteria = new Criteria(UsuarisMenusPeer::DATABASE_NAME);
         $criteria->add(UsuarisMenusPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += UsuarisMenusPeer::doDelete($criteria, $con);
         // delete related UsuarisSites objects
         $criteria = new Criteria(UsuarisSitesPeer::DATABASE_NAME);
         $criteria->add(UsuarisSitesPeer::USUARI_ID, $obj->getUsuariid());
         $affectedRows += UsuarisSitesPeer::doDelete($criteria, $con);
         // delete related Usuarisllistes objects
         $criteria = new Criteria(UsuarisllistesPeer::DATABASE_NAME);
         $criteria->add(UsuarisllistesPeer::USUARIS_USUARISID, $obj->getUsuariid());
         $affectedRows += UsuarisllistesPeer::doDelete($criteria, $con);
     }
     return $affectedRows;
 }
 /**
  * Retrieve object using using composite pkey values.
  * @param      int $idusuari
  * @param      int $iddirectori
  * @param      PropelPDO $con
  * @return     AppDocumentsPermisosDir
  */
 public static function retrieveByPK($idusuari, $iddirectori, PropelPDO $con = null)
 {
     $key = serialize(array((string) $idusuari, (string) $iddirectori));
     if (null !== ($obj = AppDocumentsPermisosDirPeer::getInstanceFromPool($key))) {
         return $obj;
     }
     if ($con === null) {
         $con = Propel::getConnection(AppDocumentsPermisosDirPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $criteria = new Criteria(AppDocumentsPermisosDirPeer::DATABASE_NAME);
     $criteria->add(AppDocumentsPermisosDirPeer::IDUSUARI, $idusuari);
     $criteria->add(AppDocumentsPermisosDirPeer::IDDIRECTORI, $iddirectori);
     $v = AppDocumentsPermisosDirPeer::doSelect($criteria, $con);
     return !empty($v) ? $v[0] : null;
 }
 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);
 }
 /**
  * Method to invalidate the instance pool of all tables related to nivells
  * by a foreign key with ON DELETE CASCADE
  */
 public static function clearRelatedInstancePool()
 {
     // invalidate objects in AppDocumentsPermisosPeer instance pool, since one or more of them may be deleted by ON DELETE CASCADE rule.
     AppDocumentsPermisosPeer::clearInstancePool();
     // invalidate objects in AppDocumentsPermisosDirPeer instance pool, since one or more of them may be deleted by ON DELETE CASCADE rule.
     AppDocumentsPermisosDirPeer::clearInstancePool();
 }
Beispiel #9
0
 /**
  * If this collection has already been initialized with
  * an identical criteria, it returns the collection.
  * Otherwise if this Nivells is new, it will return
  * an empty collection; or if this Nivells has previously
  * been saved, it will retrieve related AppDocumentsPermisosDirs from storage.
  *
  * This method is protected by default in order to keep the public
  * api reasonable.  You can provide public methods for those you
  * actually need in Nivells.
  */
 public function getAppDocumentsPermisosDirsJoinAppDocumentsDirectoris($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN)
 {
     if ($criteria === null) {
         $criteria = new Criteria(NivellsPeer::DATABASE_NAME);
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collAppDocumentsPermisosDirs === null) {
         if ($this->isNew()) {
             $this->collAppDocumentsPermisosDirs = array();
         } else {
             $criteria->add(AppDocumentsPermisosDirPeer::IDNIVELL, $this->idnivells);
             $this->collAppDocumentsPermisosDirs = AppDocumentsPermisosDirPeer::doSelectJoinAppDocumentsDirectoris($criteria, $con, $join_behavior);
         }
     } else {
         // the following code is to determine if a new query is
         // called for.  If the criteria is the same as the last
         // one, just return the collection.
         $criteria->add(AppDocumentsPermisosDirPeer::IDNIVELL, $this->idnivells);
         if (!isset($this->lastAppDocumentsPermisosDirCriteria) || !$this->lastAppDocumentsPermisosDirCriteria->equals($criteria)) {
             $this->collAppDocumentsPermisosDirs = AppDocumentsPermisosDirPeer::doSelectJoinAppDocumentsDirectoris($criteria, $con, $join_behavior);
         }
     }
     $this->lastAppDocumentsPermisosDirCriteria = $criteria;
     return $this->collAppDocumentsPermisosDirs;
 }
 /**
  * This is a method for emulating ON DELETE CASCADE for DBs that don't support this
  * feature (like MySQL or SQLite).
  *
  * This method is not very speedy because it must perform a query first to get
  * the implicated records and then perform the deletes by calling those Peer classes.
  *
  * This method should be used within a transaction if possible.
  *
  * @param      Criteria $criteria
  * @param      PropelPDO $con
  * @return     int The number of affected rows (if supported by underlying database driver).
  */
 protected static function doOnDeleteCascade(Criteria $criteria, PropelPDO $con)
 {
     // initialize var to track total num of affected rows
     $affectedRows = 0;
     // first find the objects that are implicated by the $criteria
     $objects = AppDocumentsDirectorisPeer::doSelect($criteria, $con);
     foreach ($objects as $obj) {
         // delete related AppDocumentsPermisosDir objects
         $criteria = new Criteria(AppDocumentsPermisosDirPeer::DATABASE_NAME);
         $criteria->add(AppDocumentsPermisosDirPeer::IDDIRECTORI, $obj->getIddirectori());
         $affectedRows += AppDocumentsPermisosDirPeer::doDelete($criteria, $con);
     }
     return $affectedRows;
 }
 /**
  * Populates the object using an array.
  *
  * This is particularly useful when populating an object from one of the
  * request arrays (e.g. $_POST).  This method goes through the column
  * names, checking to see whether a matching key exists in populated
  * array. If so the setByName() method is called for that column.
  *
  * You can specify the key type of the array by additionally passing one
  * of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME,
  * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM.
  * The default key type is the column's phpname (e.g. 'AuthorId')
  *
  * @param      array  $arr     An array to populate the object from.
  * @param      string $keyType The type of keys the array uses.
  * @return     void
  */
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = AppDocumentsPermisosDirPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setIdusuari($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setIddirectori($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setIdnivell($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setSiteId($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setActiu($arr[$keys[4]]);
     }
 }