profile.py 804 B

12345678910111213141516171819202122232425262728293031323334
  1. from django.contrib.auth.models import User
  2. from . import models
  3. def retrieve(request):
  4. """ gets the StoreProfile instance for a user from the request """
  5. user = request.user
  6. return get_profile(user)
  7. def get_profile(user):
  8. """ returns the StoreProfile for the user creates one if it does not exist
  9. """
  10. if not user:
  11. return None
  12. if not isinstance(user, User):
  13. return None
  14. try:
  15. profile = user.get_profile()
  16. except models.StoreProfile.DoesNotExist:
  17. profile = models.StoreProfile(user=user)
  18. profile.save()
  19. return profile
  20. def get_profile_secondary_address(user):
  21. profile = get_profile(user)
  22. address, created = models.SecondaryProfileAddress.objects.get_or_create(
  23. profile=profile
  24. )
  25. return address