forumroles.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from django.contrib import messages
  2. from django.utils.translation import ugettext_lazy as _
  3. from misago.admin.views import generic
  4. from misago.acl.models import ForumRole
  5. from misago.acl.forms import ForumRoleForm
  6. class ForumRoleAdmin(generic.AdminBaseMixin):
  7. root_link = 'misago:admin:permissions:forums:index'
  8. Model = ForumRole
  9. Form = ForumRoleForm
  10. templates_dir = 'misago/admin/forumroles'
  11. message_404 = _("Requested role does not exist.")
  12. class ForumRolesList(ForumRoleAdmin, generic.ListView):
  13. ordering = (('name', None),)
  14. class NewForumRole(ForumRoleAdmin, generic.ModelFormView):
  15. message_submit = _('New role "%s" has been saved.')
  16. class EditForumRole(ForumRoleAdmin, generic.ModelFormView):
  17. message_submit = _('Role "%s" has been changed.')
  18. class DeleteForumRole(ForumRoleAdmin, generic.ButtonView):
  19. def check_permissions(self, request, target):
  20. if not target.user_set.exists():
  21. message = _('Role "%s" is assigned to forums and '
  22. 'can\'t be deleted.')
  23. return message % unicode(target.name)
  24. def button_action(self, request, target):
  25. target.delete()
  26. message = _('Role "%s" has been deleted.') % unicode(target.name)
  27. messages.success(request, message)