|
@@ -26,6 +26,7 @@ class ThreadSerializer(serializers.ModelSerializer, MutableFields):
|
|
category = BasicCategorySerializer(many=False, read_only=True)
|
|
category = BasicCategorySerializer(many=False, read_only=True)
|
|
|
|
|
|
acl = serializers.SerializerMethodField()
|
|
acl = serializers.SerializerMethodField()
|
|
|
|
+ has_unapproved_posts = serializers.SerializerMethodField()
|
|
is_new = serializers.SerializerMethodField()
|
|
is_new = serializers.SerializerMethodField()
|
|
is_read = serializers.SerializerMethodField()
|
|
is_read = serializers.SerializerMethodField()
|
|
path = BasicCategorySerializer(many=True, read_only=True)
|
|
path = BasicCategorySerializer(many=True, read_only=True)
|
|
@@ -68,6 +69,14 @@ class ThreadSerializer(serializers.ModelSerializer, MutableFields):
|
|
except AttributeError:
|
|
except AttributeError:
|
|
return {}
|
|
return {}
|
|
|
|
|
|
|
|
+ def get_has_unapproved_posts(self, obj):
|
|
|
|
+ try:
|
|
|
|
+ acl = obj.acl
|
|
|
|
+ except AttributeError:
|
|
|
|
+ return False
|
|
|
|
+
|
|
|
|
+ return acl.get('can_approve') and obj.has_unapproved_posts
|
|
|
|
+
|
|
def get_is_new(self, obj):
|
|
def get_is_new(self, obj):
|
|
try:
|
|
try:
|
|
return obj.is_new
|
|
return obj.is_new
|
|
@@ -139,7 +148,6 @@ class ThreadsListSerializer(ThreadSerializer):
|
|
starter = serializers.SerializerMethodField()
|
|
starter = serializers.SerializerMethodField()
|
|
last_poster = serializers.SerializerMethodField()
|
|
last_poster = serializers.SerializerMethodField()
|
|
|
|
|
|
-
|
|
|
|
class Meta:
|
|
class Meta:
|
|
model = Thread
|
|
model = Thread
|
|
fields = ThreadSerializer.Meta.fields + [
|
|
fields = ThreadSerializer.Meta.fields + [
|