Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Negating user groups in Access Level #7270

Closed
artur-stepien opened this issue Jun 26, 2015 · 2 comments
Closed

Negating user groups in Access Level #7270

artur-stepien opened this issue Jun 26, 2015 · 2 comments

Comments

@artur-stepien
Copy link
Contributor

It would be nice to have the option to negate users groups in Access Level (like in modules Menu Assignment).

The problem
I have 3 main groups of registered users:

  • Registered
  • Club Members
  • Club Management

Each user in Club Members group and Club Management group is also a member of Registered group.

Some content I need to show only for those who are not Members or Management (for potential customers). The best solution would be to create new Access Level valid only for those users. But it is impossible because Registered group has also Members and Management.

I know it can be done by creating another Registered group for Members and Management but it would be to many groups and a little confusing. Also it can create a lot of unnecessary work and possibly break some components that use default registered group (Registered).

How it could work
With a possibility to negate users groups in Access Level I could just create a level with those rules:
Registered AND NOT Club Members AND NOT Club Management

Interface changes
Interface for that functionality would be very close to current version. With that difference that it would need a 3 levels check button or a select field (Users in that group, Users that are not in that group, Omit)

@Bakual
Copy link
Contributor

Bakual commented Jun 26, 2015

I know it can be done by creating another Registered group for Members and Management but it would be to many groups and a little confusing. Also it can create a lot of unnecessary work and possibly break some components that use default registered group (Registered).

It will not break components for sure. Except if they are really bad written and somehow hardcode things to a specific default access level.

I think your request would neglect the whole idea of a hierarchic ACL system. Why would you put them into the "Registered" group if they are not supposed to see things from that level?

What you likely need is a user group structure like this:

Public
|-- Registered
|--|-- Not Members
|--|-- Club Members
|--|--|-- Club Management

This your members and management inherits from registered permissions, and also the non-members do. But you can now set different permissions for members and non-members.

You then create a new view level for that non-member group. All will still see articles set as registered and your new advertisment article can be set to the new viewlevel.

And to make it perfect just set the default group for new registered users to that "Not Member" group.

@brianteeman
Copy link
Contributor

I am closing this issue as @Bakual has provided the recommended solution with the current ACL system.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/7270.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants