I have a Drupal / Civi application running which uses ACL to restrict contact data to the Drupal user whom is a member of the Group (the Group Admin).

Currently I have 5 Groups. However, each Group Admin is able to see administrative content of all other Groups.

I'm struggling to understand permissions and restricting the administrative contents of one group from another group.

Group contacts are properly restricted. However, even in Search > Find Contacts all Group Admins are able to see all other Groups in the Group Drop Down Selector. Search results produce no contacts, however Group Admin 1 should not be able to view Group 2 in the selector.

For another Example Mailings > Message Templates shows the templates for all groups to all users. The requirement is to limit the display of templates to those CREATED by the Group Admin whom is also a Drupal Logged In User.

What is needed is a permission Like View / Edit / Delete Own Templates

Similarly, Campaigns > Dashboard > Campaigns will show all campaigns to all users. The requirement is to limit the display of campaigns to those CREATED by the Group Admin whom is also the Drupal Logged In User.

View / Edit / Delete own Campaigns

There are other locations where permissions need to be managed but they are in the same context.

Is it recommended to do this with menu based permissions? What other approach should be considered? Any extensions that will help?

  • Anyone have any advice on how to approach this problem? Should I abandon the Civi side and manage it on the Drupal side?
    – GaryDev
    Aug 8, 2017 at 23:57

1 Answer 1


There is no such way to do this in Civi that I know of. There is no connection/ownership between a Campaign and a Group.

If you have a small number of groups, then yes i could see you doing this via some Views and Webforms whereby each 'group' has its own set of forms/lists and these show only the Campaigns etc which they should see.

I think I get what you are after but not aware of a simple method to do this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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