moderation.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from rest_framework import serializers
  2. from django.contrib.auth import get_user_model
  3. from django.utils.translation import ungettext
  4. from misago.conf import settings
  5. UserModel = get_user_model()
  6. __all__ = [
  7. 'ModerateAvatarSerializer',
  8. 'ModerateSignatureSerializer',
  9. ]
  10. class ModerateAvatarSerializer(serializers.ModelSerializer):
  11. class Meta:
  12. model = UserModel
  13. fields = [
  14. 'is_avatar_locked',
  15. 'avatar_lock_user_message',
  16. 'avatar_lock_staff_message',
  17. ]
  18. class ModerateSignatureSerializer(serializers.ModelSerializer):
  19. class Meta:
  20. model = UserModel
  21. fields = [
  22. 'signature',
  23. 'is_signature_locked',
  24. 'signature_lock_user_message',
  25. 'signature_lock_staff_message'
  26. ]
  27. def validate_signature(self, value):
  28. length_limit = settings.signature_length_max
  29. if len(value) > length_limit:
  30. raise forms.ValidationError(ungettext(
  31. "Signature can't be longer than %(limit)s character.",
  32. "Signature can't be longer than %(limit)s characters.",
  33. length_limit) % {'limit': length_limit})
  34. return value