/**
  * Load groups to roles associations from database using specified role
  *
  * @param Role $role Role
  * @param ARSelectFilter $filter
  * @param bool $loadReferencedRecords
  *
  * @return ARSet
  */
 public static function getRecordSetByRole(Role $role, ARSelectFilter $filter, $loadReferencedRecords = false)
 {
     $filter->mergeCondition(new EqualsCond(new ARFieldHandle(__CLASS__, "roleID"), $role->getID()));
     return self::getRecordSet($filter, $loadReferencedRecords = false);
 }
Esempio n. 2
0
 public function cancelRole(Role $role)
 {
     if (!$role->isExistingRecord()) {
         return;
     }
     $this->canceledRoles[$role->getID()] = $role;
     if (isset($this->appliedRoles[$role->getID()])) {
         unset($this->appliedRoles[$role->getID()]);
     }
 }
Esempio n. 3
0
 public function deleteRole(Role $roleToDelete)
 {
     // check permissions
     if (!PermissionEngine::getInstance()->currentUserCanDo('userCanDeleteRoles')) {
         return false;
     }
     $db = Database::getInstance();
     if (!$db->isConnected()) {
         return false;
     }
     $roleID = $db->escapeString($roleToDelete->getID());
     $roleName = $db->escapeString($roleToDelete->getName());
     $results = $db->removeData('role', 'roleID = ' . $roleID . ' AND roleName = \'' . $roleName . '\'');
     if (!$results) {
         return false;
     }
     return true;
 }
Esempio n. 4
0
 public function assign(Role $role)
 {
     foreach ($this->roles as $assigned) {
         if ($assigned->getID() === $role->getID()) {
             return;
         }
     }
     $this->roles[] = $role;
 }