drop the middleware, refactor address transfer, update content, remove locations
parent
398481a78e
commit
0210715937
@ -1,28 +0,0 @@
|
|||||||
from django.shortcuts import HttpResponseRedirect, reverse
|
|
||||||
from core.models import UserShippingAddress
|
|
||||||
|
|
||||||
|
|
||||||
class EnforceShippingAddressCreationMiddleware(object):
|
|
||||||
def __init__(self, get_response):
|
|
||||||
self.get_response = get_response
|
|
||||||
|
|
||||||
def __call__(self, request):
|
|
||||||
|
|
||||||
# If current user is authenticated, get their shipping information and current page
|
|
||||||
# If current page is not them editing their address or logging out, redirect them
|
|
||||||
if request.user.is_authenticated:
|
|
||||||
profile = UserShippingAddress.objects.filter(user=request.user).first()
|
|
||||||
is_profile_absent = profile is None
|
|
||||||
|
|
||||||
allowed_paths = [
|
|
||||||
reverse('edit_shipping'),
|
|
||||||
reverse('logout')
|
|
||||||
]
|
|
||||||
on_allowed_path = request.path not in allowed_paths
|
|
||||||
|
|
||||||
if is_profile_absent and on_allowed_path:
|
|
||||||
return HttpResponseRedirect(reverse('edit_shipping'))
|
|
||||||
|
|
||||||
response = self.get_response(request)
|
|
||||||
|
|
||||||
return response
|
|
Reference in New Issue