diff --git a/plone/principalsource/source.py b/plone/principalsource/source.py index 6ad71db..81feb71 100644 --- a/plone/principalsource/source.py +++ b/plone/principalsource/source.py @@ -1,7 +1,11 @@ from zope.interface import implements -from z3c.formwidget.query.interfaces import IQuerySource +from zope.app.component.hooks import getSite from zope.schema.interfaces import IContextSourceBinder + +from z3c.formwidget.query.interfaces import IQuerySource + from plone.principalsource.term import PrincipalTerm + from Products.CMFCore.utils import getToolByName class PrincipalSource(object): @@ -27,7 +31,11 @@ class PrincipalSource(object): if not self.users and not self.groups: raise ValueError(u"You must enable either users or groups") - self.acl_users = getToolByName(context, 'acl_users') + self.acl_users = getToolByName(context, 'acl_users', None) + if self.acl_users is None: + site = getSite() + if site is not None: + self.acl_users = getToolByName(site, 'acl_users', None) def __contains__(self, value): try: