subscriptions work out
This commit is contained in:
parent
93aea70d29
commit
3a6476fb06
|
|
@ -44,12 +44,12 @@ class SubscriberManager(models.Manager):
|
||||||
obj.country_code = country_code
|
obj.country_code = country_code
|
||||||
obj.locale = locale
|
obj.locale = locale
|
||||||
obj.update_code = generate_string_code()
|
obj.update_code = generate_string_code()
|
||||||
obj.subscription_types = subscription_types
|
|
||||||
obj.save()
|
obj.save()
|
||||||
|
obj.subscription_types.set(subscription_types)
|
||||||
else:
|
else:
|
||||||
obj = self.model.objects.create(user=user, email=email, ip_address=ip_address,
|
obj = self.model.objects.create(user=user, email=email, ip_address=ip_address,
|
||||||
country_code=country_code, locale=locale,
|
country_code=country_code, locale=locale)
|
||||||
subscription_types=subscription_types)
|
obj.subscription_types.set(subscription_types)
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
def associate_user(self, user):
|
def associate_user(self, user):
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ class SubscriptionTypeSerializer(serializers.ModelSerializer):
|
||||||
"""Subscription type serializer."""
|
"""Subscription type serializer."""
|
||||||
|
|
||||||
name_translated = TranslatedField()
|
name_translated = TranslatedField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
|
||||||
|
|
@ -26,7 +27,7 @@ class CreateSubscribeSerializer(serializers.ModelSerializer):
|
||||||
"""Create Subscribe serializer."""
|
"""Create Subscribe serializer."""
|
||||||
|
|
||||||
email = serializers.EmailField(required=False, source='send_to')
|
email = serializers.EmailField(required=False, source='send_to')
|
||||||
subscription_types = SubscriptionTypeSerializer(read_only=True)
|
subscription_types = serializers.PrimaryKeyRelatedField(many=True, queryset=models.SubscriptionType.objects.all())
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
|
@ -65,12 +66,6 @@ class CreateSubscribeSerializer(serializers.ModelSerializer):
|
||||||
if user.is_authenticated:
|
if user.is_authenticated:
|
||||||
attrs['user'] = user
|
attrs['user'] = user
|
||||||
|
|
||||||
subscription_type_ids = self.context.get('request') \
|
|
||||||
.parser_context.get('kwargs') \
|
|
||||||
.get("subscription_types_pk")
|
|
||||||
|
|
||||||
attrs['subscription_types'] = subscription_type_ids
|
|
||||||
|
|
||||||
return attrs
|
return attrs
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ app_name = "notification"
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('subscribe/', common.CreateSubscribeView.as_view(), name='create-subscribe'),
|
path('subscribe/', common.CreateSubscribeView.as_view(), name='create-subscribe'),
|
||||||
path('subscribe/<int:subscription_type_pk>', common.SubscribeView.as_view(), name='subscribe'),
|
|
||||||
path('subscribe-info/', common.SubscribeInfoAuthUserView.as_view(), name='check-code-auth'),
|
path('subscribe-info/', common.SubscribeInfoAuthUserView.as_view(), name='check-code-auth'),
|
||||||
path('subscribe-info/<code>/', common.SubscribeInfoView.as_view(), name='check-code'),
|
path('subscribe-info/<code>/', common.SubscribeInfoView.as_view(), name='check-code'),
|
||||||
path('unsubscribe/', common.UnsubscribeAuthUserView.as_view(), name='unsubscribe-auth'),
|
path('unsubscribe/', common.UnsubscribeAuthUserView.as_view(), name='unsubscribe-auth'),
|
||||||
|
|
|
||||||
|
|
@ -7,33 +7,13 @@ from notification import models
|
||||||
from notification.serializers import common as serializers
|
from notification.serializers import common as serializers
|
||||||
|
|
||||||
|
|
||||||
class SubscribeView(generics.GenericAPIView):
|
class CreateSubscribeView(generics.CreateAPIView):
|
||||||
"""Subscribe View."""
|
|
||||||
|
|
||||||
queryset = models.Subscriber.objects.all()
|
|
||||||
permission_classes = (permissions.AllowAny,)
|
|
||||||
serializer_class = serializers.SubscribeSerializer
|
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
|
||||||
serializer = self.get_serializer(data=request.data)
|
|
||||||
serializer.is_valid(raise_exception=True)
|
|
||||||
serializer.save()
|
|
||||||
return Response(data=serializer.data)
|
|
||||||
|
|
||||||
|
|
||||||
class CreateSubscribeView(generics.GenericAPIView):
|
|
||||||
"""Create subscribe View."""
|
"""Create subscribe View."""
|
||||||
|
|
||||||
queryset = models.Subscriber.objects.all()
|
queryset = models.Subscriber.objects.all()
|
||||||
permission_classes = (permissions.AllowAny,)
|
permission_classes = (permissions.AllowAny,)
|
||||||
serializer_class = serializers.CreateSubscribeSerializer
|
serializer_class = serializers.CreateSubscribeSerializer
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
|
||||||
serializer = self.get_serializer(data=request.data)
|
|
||||||
serializer.is_valid(raise_exception=True)
|
|
||||||
serializer.save()
|
|
||||||
return Response(data=serializer.data)
|
|
||||||
|
|
||||||
|
|
||||||
class SubscribeInfoView(generics.RetrieveAPIView):
|
class SubscribeInfoView(generics.RetrieveAPIView):
|
||||||
"""Subscribe info view."""
|
"""Subscribe info view."""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user