Message Boards

How to exclude assignment of Administrator role

Robert Meissner, modified 7 Years ago.

How to exclude assignment of Administrator role

Junior Member Posts: 76 Join Date: 2/26/15 Recent Posts
Hi,

i have an organization "z" and a regular role "zAdmin", which should serve as an admin role for this organization with the following permissions:

// Show "Admin"-Menu in Dockbar with access to "Control Panel" (Portal: Zugang zum Kontrollbereich)
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, String.valueOf(90), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.VIEW_CONTROL_PANEL);
// Access "Users & Organizations" in "Control Panel" (Benutzer und Organistaionen: Zugang innerhalb des Kontrollbereichs)
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, String.valueOf(125), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.ACCESS_IN_CONTROL_PANEL);
// Show "Add"-Button in "Users & Organizations" (Portal: Organisation hinzufügen)
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, String.valueOf(90), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.ADD_ORGANIZATION);
// Make "OrganizationZ"-Organization in "Users & Organizations" clickable (Benutzer und Organisationen > Organisation: Anzeigen)
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, Organization.class.getName(), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.VIEW);
// Add users to organization (Benutzer und Organisationen > Organisation: Benutzer verwalten)
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, Organization.class.getName(), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.MANAGE_USERS);
// Add users to organization (Benutzer und Organisationen > Organisation: Mitglieder zuweisen)
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, Organization.class.getName(), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.ASSIGN_MEMBERS);
// Add organizations to OrganizationZ (Benutzer und Organisationen > Organisation: Organisation hinzufügen)
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, Organization.class.getName(), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.ADD_ORGANIZATION);
// Add organizational roles to users of Suborganizations (Benutzer und Organisationen > Organisation: Untergeordnete Organisationen verwalten)
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, Organization.class.getName(), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.MANAGE_SUBORGANIZATIONS);
// View & update "Custom Fields" (Benutzerdefinierte Felder > Benutzerdefiniertes Feld: Anzeigen)
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, ExpandoColumn.class.getName(), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.VIEW);
// (Benutzerdefinierte Felder > Benutzerdefiniertes Feld : Aktualisieren
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, ExpandoColumn.class.getName(), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.UPDATE);
// (Rollen > Rolle: Mitglieder zuweisen)
ResourcePermissionLocalServiceUtil.addResourcePermission(companyId, Role.class.getName(), ResourceConstants.SCOPE_COMPANY,
    String.valueOf(companyId), zAdmin.getRoleId(), ActionKeys.ASSIGN_MEMBERS);


Now i want the zAdmin to assign members to roles (this is the last rule), but exclude the regular Admin role. How to do this?