def update_address(request): print(request.user.username) add_obj = None try: add_obj = Address.objects.get(user=request.user) if add_obj is not None: if request.method == 'POST': form = AddressForm(request.POST) if form.is_valid(): add_obj.user = request.user add_obj.phone_num = form.cleaned_data.get('phone_num') add_obj.address1 = form.cleaned_data.get('address1') add_obj.address2 = form.cleaned_data.get('address2') add_obj.city = form.cleaned_data.get('city') add_obj.state = form.cleaned_data.get('state') add_obj.pincode = form.cleaned_data.get('pincode') add_obj.save() print(add_obj.city, add_obj.state) return render(request, "orders/checkout.html", context={ 'form': form, 'object': add_obj, }) except: print("create new") if request.method == 'POST': form = AddressForm(request.POST) if form.is_valid(): user = request.user phone_num = form.cleaned_data.get('phone_num') address1 = form.cleaned_data.get('address1') address2 = form.cleaned_data.get('address2') city = form.cleaned_data.get('city') state = form.cleaned_data.get('state') pincode = form.cleaned_data.get('pincode') add_obj = Address.objects.create(user=request.user, phone_num=phone_num, address1=address1, address2=address2, city=city, state=state, pincode=pincode) add_obj.save() print(add_obj.city, add_obj.state) return render(request, "orders/checkout.html", context={ 'form': form, 'object': add_obj, }) form = AddressForm() context = { 'form': form, 'object': add_obj, } return render(request, 'orders/update_address.html', context)
def AddressPage(request): location = "Profile / Address" fname = request.user.first_name lname = request.user.last_name st = "%s %s" %(fname,lname) profile = Profile.objects.get( Q(user = request.user.id) ) picture = "/media/%s"%(profile.picture) if request.method == "POST": form = AddressForm(request.POST) if form.is_valid(): form.save(commit=True) messages.success(request,"Address Saved!") print("working") return redirect('../../profile') else: messages.error(request, "The form wasn't valid for some reason") #return redirect('../address-info') #print(get_object_or_404(form)) print("Not working") else: form = AddressForm() return render(request, 'users/update-address.html', { 'form': form, 'username': st, 'location': location, 'logout':'../../logout', 'picture' : picture })
def create(request): """Добавление нового адреса доставки""" initial = { 'email': request.user.email, } # TODO: Возможно, заполнять только для розничных покупателей? if request.user.title: initial['receiver_title'] = request.user.title if request.user.phone: initial['phone'] = request.user.phone if request.POST: form = AddressForm(request.POST, initial=initial) if form.is_valid(): address = form.save(commit=False) address.user = request.user address.save() return HttpResponseRedirect(reverse('users.address.index')) else: form = AddressForm(initial=initial) context = { 'form': form, } return render(request, 'users/addresses/create.html', context)
def checkout(request): if request.method == 'POST': form = request.POST if form['action'] == 'confirm': form = AddressForm(request.POST or None) if not form.is_valid(): return HttpResponse("invalid form") data = form.cleaned_data template = "<AddressValidateRequest USERID=\"796CCNY00182\">\ <IncludeOptionalElements>true</IncludeOptionalElements>\ <ReturnCarrierRoute>true</ReturnCarrierRoute>\ <Address ID=\"0\">\ <FirmName />\ <Address1></Address1>\ <Address2></Address2>\ <City></City>\ <State></State>\ <Zip5></Zip5>\ <Zip4></Zip4>\ </Address>\ </AddressValidateRequest> " xml = ElementTree.fromstring(template) xml[2][1].text = '' xml[2][2].text = data['street'] xml[2][3].text = data['city'] xml[2][4].text = data['state'] xml[2][5].text = str(data['zipcode']) xml = ElementTree.tostring(xml) payload = {'API': 'VERIFY', 'XML': xml} r = requests.get( 'http://production.shippingapis.com/ShippingAPI.dll', params=payload) tree = ElementTree.fromstring(r.content) # for i in tree[0]: # print i.text address = '' for i in range(0, 3): try: address += tree[0][i].text + ', ' except: pass try: address += tree[0][3].text except: pass customer = request.user.customer customer.address = address customer.save() return placeOrder(request) elif form['action'] == 'address': context = {'form': AddressForm} return render(request, 'menu/checkout.html', context=context)
def address(request): if request.method =='POST': form = AddressForm(request.POST) if form.is_valid(): profile = form.save(commit=False) # this insures it is assigned to user profile.save() profile.users.set([request.user.pk]) # many to many user save return redirect('myaccount') else: form = AddressForm() return render(request, 'address.html', {'form': form})
def post(self, request, clientid, *args, **kwargs): try: client = ClientUser.objects.get(pk=clientid) address = Address.objects.get(user=client) except ObjectDoesNotExist as e: pass except MultipleObjectsReturned as e: pass clientForm = ClientUserForm(request.POST, instance=client) addressForm = AddressForm(request.POST, instance=Address(user=client, pk=address.id)) if clientForm.is_valid() and addressForm.is_valid(): clientForm.save() addressForm.save() return HttpResponseRedirect('/costomer/data/') return render(request, self.template_name, self.__context)
def update(request, address_id): address = get_object_or_404(Address, id=address_id, user=request.user) if request.POST: form = AddressForm(request.POST, instance=address) if form.is_valid(): address = form.save(commit=False) address.user = request.user address.save() return HttpResponseRedirect(reverse('users.address.index')) else: form = AddressForm(instance=address) context = { 'form': form, } return render(request, 'users/addresses/update.html', context)
def address_verify(request,id): user = request.user product = Product.objects.get(id=id) addreses = Address.objects.filter(user=request.user) if user.is_authenticated(): if request.method == 'POST': form = AddressForm(request.POST) if form.is_valid(): address = Address(user=request.user, address1=form.cleaned_data['address1'], address2=form.cleaned_data['address2'], address3=form.cleaned_data['address3'], pincode=form.cleaned_data['pincode'], phone_number=form.cleaned_data['phone_number']) address.save() return HttpResponseRedirect("/users/address-verify/%d"% int(id)) else: form = AddressForm() return render(request, "users/address_verify.html",{'id':id, 'addreses':addreses,'form':form}) else: return render(request,'users/login_popup.html')