12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- from django.contrib import messages
- from django.utils.translation import ugettext_lazy as _
- from misago.admin.views import generic
- from misago.users.forms.admin import BanForm, SearchBansForm
- from misago.users.models import Ban
- class BanAdmin(generic.AdminBaseMixin):
- root_link = 'misago:admin:users:bans:index'
- model = Ban
- form = BanForm
- templates_dir = 'misago/admin/bans'
- message_404 = _("Requested ban does not exist.")
- def handle_form(self, form, request, target):
- super(BanAdmin, self).handle_form(form, request, target)
- Ban.objects.invalidate_cache()
- class BansList(BanAdmin, generic.ListView):
- items_per_page = 30
- ordering = (
- ('-id', _("From newest")),
- ('id', _("From oldest")),
- ('banned_value', _("A to z")),
- ('-banned_value', _("Z to a")),
- )
- search_form = SearchBansForm
- selection_label = _('With bans: 0')
- empty_selection_label = _('Select bans')
- mass_actions = (
- {
- 'action': 'delete',
- 'icon': 'fa fa-times',
- 'name': _('Remove bans'),
- 'confirmation': _('Are you sure you want to remove those bans?')
- },
- )
- def action_delete(self, request, items):
- items.delete()
- Ban.objects.invalidate_cache()
- messages.success(request, _("Selected bans have been removed."))
- class NewBan(BanAdmin, generic.ModelFormView):
- message_submit = _('New ban "%(name)s" has been saved.')
- class EditBan(BanAdmin, generic.ModelFormView):
- message_submit = _('Ban "%(name)s" has been edited.')
- class DeleteBan(BanAdmin, generic.ButtonView):
- def button_action(self, request, target):
- target.delete()
- Ban.objects.invalidate_cache()
- message = _('Ban "%(name)s" has been removed.')
- messages.success(request, message % {'name': target.name})
|