Fix unsubscribe bug

This commit is contained in:
dormantman 2020-01-10 16:11:10 +03:00
parent fcfebcd952
commit 2800f2f158
2 changed files with 10 additions and 3 deletions

View File

@ -115,7 +115,6 @@ class Subscriber(ProjectBaseMixin):
def unsubscribe(self, query: dict): def unsubscribe(self, query: dict):
"""Unsubscribe user.""" """Unsubscribe user."""
self.subscribe_set.update(unsubscribe_date=now()) self.subscribe_set.update(unsubscribe_date=now())
self.subscription_types = []
@property @property
def send_to(self): def send_to(self):

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