permissions.py 607 B

1234567891011121314151617181920212223242526
  1. from django import forms
  2. from django.utils.translation import gettext_lazy as _
  3. from ..acl import algebra
  4. from ..acl.models import Role
  5. from ..admin.forms import YesNoSwitch
  6. class PermissionsForm(forms.Form):
  7. legend = _("Search")
  8. can_search = YesNoSwitch(label=_("Can search site"), initial=1)
  9. def change_permissions_form(role):
  10. if isinstance(role, Role):
  11. return PermissionsForm
  12. def build_acl(acl, roles, key_name):
  13. new_acl = {"can_search": 0}
  14. new_acl.update(acl)
  15. return algebra.sum_acls(
  16. new_acl, roles=roles, key=key_name, can_search=algebra.greater
  17. )