Auto creating subscriber

This commit is contained in:
dormantman 2020-01-14 17:13:45 +03:00
parent a447dfa471
commit d3d4578bc7

View File

@ -5,6 +5,7 @@ from rest_framework.response import Response
from notification import models
from notification.serializers import common as serializers
from utils.methods import get_user_ip
class CreateSubscribeView(generics.CreateAPIView):
@ -43,7 +44,22 @@ class SubscribeInfoAuthUserView(generics.RetrieveAPIView):
lookup_field = None
def get_object(self):
return get_object_or_404(models.Subscriber, user=self.request.user)
user = self.request.user
if user:
try:
subscriber = models.Subscriber.get(user=user)
except models.Subscriber.DoesNotExist:
subscriber = models.Subscriber.objects.make_subscriber(
email=user.email, user=user, ip_address=get_user_ip(self.request),
country_code=self.request.country_code, locale=self.request.locale
)
else:
return get_object_or_404(models.Subscriber, user=user)
return subscriber
class UnsubscribeView(generics.UpdateAPIView):