Guest User

Untitled

a guest
Oct 13th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. def update(self, instance, validated_data):
  2. email_updated=False
  3. email = self.validated_data["email"]
  4. print(instance.email) #abc@email.com
  5. if email!=instance.email:
  6. if User.objects.filter(email=email).exists():
  7. raise serializers.ValidationError("email is not available")
  8. else:
  9. email_updated=True
  10. instance.__dict__.update(**validated_data)
  11. instance.save() # instance is saved.
  12. print(instance.email) #xyz@email.com
  13. if email_updated:
  14. task_send_activation_mail.delay(instance.id)#this one here
  15. print(instance.email) #xyz@email.com
  16. return instance
  17.  
  18. from `celery` import shared_task
  19.  
  20. @shared_task
  21. def send_activation_mail(user_id):
  22. from project.models import User
  23. user = User.objects.get(pk=user_id)
  24. subject = 'Activate Your '+DOMAIN_SHORT_NAME+' Account'
  25. message = get_template('registration/account_activation_email.html').render({
  26. 'domain_url': DOMAIN_URL,
  27. 'domain': DOMAIN,
  28. 'domain_short_name': DOMAIN_SHORT_NAME,
  29. 'domain_full_name': DOMAIN_FULL_NAME,
  30. 'domain_email': DOMAIN_EMAIL,
  31. 'domain_support_email': DOMAIN_SUPPORT_EMAIL,
  32. 'domain_support_url': DOMAIN_SUPPORT_URL,
  33. 'mobile_support': MOBILE_SUPPORT,
  34. 'user': user,
  35. 'uid': urlsafe_base64_encode(force_bytes(user.pk)).decode(),
  36. 'token': account_activation_token.make_token(user),
  37. })
  38. user.email_user(subject, DOMAIN_FULL_NAME +' ', html_message=message)
  39. return user.email #"abc@email.com" is printed as celery output.
Add Comment
Please, Sign In to add comment