permissions.py 638 B

1234567891011121314151617181920212223242526
  1. from django import forms
  2. from django.utils.translation import ugettext_lazy as _
  3. from misago.acl import algebra
  4. from misago.acl.models import Role
  5. from misago.core.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. else:
  13. return None
  14. def build_acl(acl, roles, key_name):
  15. new_acl = {'can_search': 0}
  16. new_acl.update(acl)
  17. return algebra.sum_acls(new_acl, roles=roles, key=key_name, can_search=algebra.greater)