29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
from .models import User
|
|
|
|
|
|
def get_or_create_customer(request, shipping_address):
|
|
if request.user.is_authenticated:
|
|
user = request.user
|
|
else:
|
|
user, u_created = User.objects.get_or_create(
|
|
email=shipping_address['email'].lower(),
|
|
defaults={
|
|
'username': shipping_address['email'].lower(),
|
|
'is_staff': False,
|
|
'is_active': True,
|
|
'is_superuser': False,
|
|
'first_name': shipping_address['first_name'],
|
|
'last_name': shipping_address['last_name'],
|
|
'shipping_street_address_1': shipping_address['street_address_1'],
|
|
'shipping_street_address_2': shipping_address['street_address_2'],
|
|
'shipping_city': shipping_address['city'],
|
|
'shipping_state': shipping_address['state'],
|
|
'shipping_postal_code': shipping_address['postal_code']
|
|
}
|
|
)
|
|
if u_created:
|
|
user.make_random_password()
|
|
user.save()
|
|
|
|
return user
|