objectacl.py 508 B

123456789101112131415161718
  1. from .providers import providers
  2. def add_acl_to_obj(user_acl, obj):
  3. """add valid ACL to obj (iterable of objects or single object)"""
  4. if hasattr(obj, "__iter__"):
  5. for item in obj:
  6. _add_acl_to_obj(user_acl, item)
  7. else:
  8. _add_acl_to_obj(user_acl, obj)
  9. def _add_acl_to_obj(user_acl, obj):
  10. """add valid ACL to single obj, helper for add_acl function"""
  11. obj.acl = {}
  12. for annotator in providers.get_obj_type_annotators(obj):
  13. annotator(user_acl, obj)