Example #1
0
 function assignUserToRole($aData)
 {
     /*find the system uid for this role */
     require_once 'classes/model/Users.php';
     $c = new Criteria();
     $c->add(RolesPeer::ROL_UID, $aData['ROL_UID']);
     $result = RolesPeer::doSelectRS($c);
     $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $result->next();
     $row = $result->getRow();
     $sSystemId = $row['ROL_SYSTEM'];
     //updating the role into users table
     $oCriteria1 = new Criteria('workflow');
     $oCriteria1->add(UsersPeer::USR_UID, $aData['USR_UID'], Criteria::EQUAL);
     $oCriteria2 = new Criteria('workflow');
     $oCriteria2->add(UsersPeer::USR_ROLE, $row['ROL_CODE']);
     BasePeer::doUpdate($oCriteria1, $oCriteria2, Propel::getConnection('workflow'));
     //delete roles for the same System
     $c = new Criteria();
     $c->addSelectColumn(UsersRolesPeer::USR_UID);
     $c->addSelectColumn(RolesPeer::ROL_UID);
     $c->addSelectColumn(RolesPeer::ROL_CODE);
     $c->addSelectColumn(RolesPeer::ROL_SYSTEM);
     $c->add(UsersRolesPeer::USR_UID, $aData['USR_UID']);
     $c->add(RolesPeer::ROL_SYSTEM, $sSystemId);
     $c->addJoin(RolesPeer::ROL_UID, UsersRolesPeer::ROL_UID);
     $result = RolesPeer::doSelectRS($c);
     $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     $result->next();
     while ($row = $result->getRow()) {
         $crit = new Criteria();
         $crit->add(UsersRolesPeer::USR_UID, $row['USR_UID']);
         $crit->add(UsersRolesPeer::ROL_UID, $row['ROL_UID']);
         UsersRolesPeer::doDelete($crit);
         $result->next();
     }
     //save the unique role for this system
     $oUsersRoles = new UsersRoles();
     $oUsersRoles->setUsrUid($aData['USR_UID']);
     $oUsersRoles->setRolUid($aData['ROL_UID']);
     $oUsersRoles->save();
     $rol = $this->load($aData['ROL_UID']);
     $oUsersRbac = new RbacUsers();
     $user = $oUsersRbac->load($aData['USR_UID']);
     G::auditLog("AssignUserToRole", "Assign user " . $user['USR_USERNAME'] . " (" . $aData['USR_UID'] . ") to Role " . $rol['ROL_NAME'] . " (" . $aData['ROL_UID'] . ") ");
 }
Example #2
0
 function create($sUserUID = '', $sRolUID = '')
 {
     $oRole = new UsersRoles();
     $oRole->setUsrUid($sUserUID);
     $oRole->setRolUid($sRolUID);
     $oRole->save();
 }