Added subscriptions associate

This commit is contained in:
dormantman 2020-01-21 12:04:55 +03:00
parent 27f47cfae6
commit 66780ef093
2 changed files with 16 additions and 10 deletions

View File

@ -89,11 +89,15 @@ class SignupSerializer(serializers.ModelSerializer):
user_id=obj.id, user_id=obj.id,
country_code=request.country_code) country_code=request.country_code)
# Make subscriber # Make subscriber or associate user
Subscriber.objects.make_subscriber(
email=obj.email, user=obj, ip_address=get_user_ip(request), subscriber = Subscriber.objects.associate_user(user=obj)
country_code=request.country_code, locale=request.locale
) if subscriber is None:
Subscriber.objects.make_subscriber(
email=obj.email, user=obj, ip_address=get_user_ip(request),
country_code=request.country_code, locale=request.locale
)
return obj return obj

View File

@ -38,6 +38,9 @@ class SubscriberManager(models.Manager):
else: else:
obj = self.model.objects.filter(email=email).first() obj = self.model.objects.filter(email=email).first()
if subscription_types is None:
subscription_types = []
# update or create # update or create
if obj: if obj:
if user: if user:
@ -51,18 +54,17 @@ 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.set(subscription_types)
obj.subscribe_set.update(unsubscribe_date=None)
obj.save() obj.save()
else: else:
obj = self.model.objects.create( obj = self.model.objects.create(
user=user, email=email, ip_address=ip_address, user=user, email=email, ip_address=ip_address,
country_code=country_code, locale=locale country_code=country_code, locale=locale,
subscription_types=subscription_types,
) )
if subscription_types is not None:
obj.subscription_types.set(subscription_types)
obj.subscribe_set.update(unsubscribe_date=None)
return obj return obj
def associate_user(self, user): def associate_user(self, user):