コード例 #1
0
ファイル: views.py プロジェクト: suvarna0318/Ecommerce
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)
コード例 #2
0
ファイル: views.py プロジェクト: sriegodedios/personalwebsite
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
    })
コード例 #3
0
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)
コード例 #4
0
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)
コード例 #5
0
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}) 
コード例 #6
0
    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)
コード例 #7
0
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)
コード例 #8
0
ファイル: views.py プロジェクト: sivajipr/flipkart
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')