ban.py 783 B

12345678910111213141516171819202122232425262728293031
  1. from django.utils.translation import ugettext as _
  2. from rest_framework import serializers
  3. from misago.core.utils import format_plaintext_for_html
  4. from misago.users.models import Ban, BAN_IP
  5. __ALL__ = ['BanMessageSerializer']
  6. class BanMessageSerializer(serializers.ModelSerializer):
  7. message = serializers.SerializerMethodField()
  8. class Meta:
  9. model = Ban
  10. fields = ('message', 'expires_on')
  11. def get_message(self, obj):
  12. if obj.user_message:
  13. message = obj.user_message
  14. elif obj.check_type == BAN_IP:
  15. message = _("Your IP address is banned.")
  16. else:
  17. message = _("You are banned.")
  18. return {
  19. 'plain': message,
  20. 'html': format_plaintext_for_html(message)
  21. }