actions.py 1019 B

12345678910111213141516171819202122232425262728293031
  1. from django.contrib import messages
  2. from django.shortcuts import redirect
  3. from django.utils.translation import ungettext, ugettext_lazy, ugettext as _
  4. from misago.threads import moderation
  5. from misago.threads.views.generic.actions import ActionsBase
  6. __all__ = ['Actions']
  7. class Actions(ActionsBase):
  8. select_items_message = ugettext_lazy(
  9. "You have to select at least one thread.")
  10. is_mass_action = True
  11. def action_approve(self, request, threads):
  12. changed_threads = 0
  13. for thread in threads:
  14. if moderation.approve_thread(request.user, thread):
  15. changed_threads += 1
  16. if changed_threads:
  17. message = ungettext(
  18. '%(changed)d thread was approved.',
  19. '%(changed)d threads were approved.',
  20. changed_threads)
  21. messages.success(request, message % {'changed': changed_threads})
  22. else:
  23. message = _("No threads were approved.")
  24. messages.info(request, message)