Merge branch 'feature/news-subscription' into 'develop'

Added unsubscribe action

See merge request gm/gm-backend!198
This commit is contained in:
Олег Хаятов 2020-01-10 13:16:21 +00:00
commit de35a1c0d5

View File

@ -1,4 +1,5 @@
"""Notification app serializers.""" """Notification app serializers."""
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from rest_framework import serializers from rest_framework import serializers
@ -83,7 +84,7 @@ class SubscribeObjectSerializer(serializers.ModelSerializer):
"""Meta class.""" """Meta class."""
model = models.Subscriber model = models.Subscriber
fields = ('subscriber', ) fields = ('subscriber',)
read_only_fields = ('subscribe_date', 'unsubscribe_date',) read_only_fields = ('subscribe_date', 'unsubscribe_date',)
@ -91,7 +92,7 @@ class SubscribeSerializer(serializers.ModelSerializer):
"""Subscribe serializer.""" """Subscribe serializer."""
email = serializers.EmailField(required=False, source='send_to') email = serializers.EmailField(required=False, source='send_to')
subscription_types = SubscriptionTypeSerializer(many=True, read_only=True) subscription_types = serializers.SerializerMethodField(source='get_subscription_types', read_only=True)
class Meta: class Meta:
"""Meta class.""" """Meta class."""
@ -102,3 +103,10 @@ class SubscribeSerializer(serializers.ModelSerializer):
'subscription_types', 'subscription_types',
'link_to_unsubscribe', 'link_to_unsubscribe',
) )
def get_subscription_types(self, obj):
serializer = SubscriptionTypeSerializer(
obj.subscribe_set.filter(unsubscribe_date=None).values_list('subscription_type', flat=True),
many=True
)
return serializer.data