0

Is it possible to have permissions, based on multiple organic groups?

I have 2 group content types: One 'Organisation' group type and one 'Department' group type. There are multiple organisations and each organisation and multiple departments. Each organisation has the same departments. So for example:

ORGANISATION GROUPS:

  • Google
  • Yahoo
  • Microsoft
  • Samsung

DEPARTMENT GROUPS:

  • Customer Service
  • Management
  • Finance
  • Sales

Each user will be a member of one organisation and one or more departments.

What I want is: If an admin adds content (like a news article), he can choose the organisations and/or departments. Users in both the chosen organisations and departments can see the content. If a user is in a chosen organisation, but not in a chosen department, he can not see the content.

If no organisation is checked, the users in all organisations can see the content (if they are in the chosen departments). If no department is checked, the users in all departments can see the content (if they are in the chosen organisations). If no organisation and no department is checked, all users can see the content.

I tried to use sub-groups, but then the admin has to choose all the (for example) 'Sales' departments of all the organisations instead of just clicking one 'Sales' department.

0

It's not possible out-of-the-box. Organic groups access control basically says if a user is in one group they can see the content in that group.

However you could write your own hook_node_access that evaluates the logic you described.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.