rank.py 812 B

1234567891011121314151617181920212223242526272829303132333435
  1. from rest_framework import serializers
  2. from misago.core.utils import format_plaintext_for_html
  3. from misago.users.models import Rank
  4. __all__ = ['RankSerializer']
  5. class RankSerializer(serializers.ModelSerializer):
  6. description = serializers.SerializerMethodField()
  7. url = serializers.SerializerMethodField()
  8. class Meta:
  9. model = Rank
  10. fields = [
  11. 'id',
  12. 'name',
  13. 'slug',
  14. 'description',
  15. 'title',
  16. 'css_class',
  17. 'is_default',
  18. 'is_tab',
  19. 'url',
  20. ]
  21. def get_description(self, obj):
  22. if obj.description:
  23. return format_plaintext_for_html(obj.description)
  24. else:
  25. return ''
  26. def get_url(self, obj):
  27. return obj.get_absolute_url()