示例#1
0
 def handle_POST(self):
     if self.is_cheque_payment():
         return self.submit()
     try:    
         self.bankcard_form = BankcardForm(self.request.POST)
         self.billing_addr_form = BillingAddressForm(self.request.POST)
         if self.bankcard_form.is_valid() and self.billing_addr_form.is_valid():
             return self.submit()
     except TransactionDeclinedException, e:
         self.context['payment_error'] = str(e)
示例#2
0
class PaymentDetailsView(CorePaymentDetailsView):
    template_file = "checkout/payment_details.html"

    def handle_GET(self):
        if self.is_cheque_payment():
            self.template_file = "checkout/payment_details_cheque.html"
        else:
            shipping_addr = self.get_shipping_address()
            card_values = {"name": shipping_addr.name()}
            self.context["bankcard_form"] = BankcardForm(initial=card_values)
            addr_values = {"first_name": shipping_addr.first_name, "last_name": shipping_addr.last_name}
            self.context["billing_address_form"] = BillingAddressForm(initial=addr_values)
        return TemplateResponse(self.request, self.template_file, self.context)

    def handle_POST(self):
        if self.is_cheque_payment():
            return self.submit()
        try:
            self.bankcard_form = BankcardForm(self.request.POST)
            self.billing_addr_form = BillingAddressForm(self.request.POST)
            if self.bankcard_form.is_valid() and self.billing_addr_form.is_valid():
                return self.submit()
        except TransactionDeclinedException, e:
            self.context["payment_error"] = str(e)

        self.context["bankcard_form"] = self.bankcard_form
        self.context["billing_address_form"] = self.billing_addr_form
        return TemplateResponse(self.request, self.template_file, self.context)
示例#3
0
class PaymentDetailsView(CorePaymentDetailsView):
    template_file = 'checkout/payment_details.html'
    
    def handle_GET(self):
        if self.is_cheque_payment():
            self.template_file = 'checkout/payment_details_cheque.html'
        else:
            shipping_addr = self.get_shipping_address()
            card_values = {'name': shipping_addr.name()}
            self.context['bankcard_form'] = BankcardForm(initial=card_values)
            addr_values = {'first_name': shipping_addr.first_name,
                           'last_name': shipping_addr.last_name,}
            self.context['billing_address_form'] = BillingAddressForm(initial=addr_values)
        return TemplateResponse(self.request, self.template_file, self.context)
    
    def handle_POST(self):
        if self.is_cheque_payment():
            return self.submit()
        try:    
            self.bankcard_form = BankcardForm(self.request.POST)
            self.billing_addr_form = BillingAddressForm(self.request.POST)
            if self.bankcard_form.is_valid() and self.billing_addr_form.is_valid():
                return self.submit()
        except TransactionDeclinedException, e:
            self.context['payment_error'] = str(e)
        
        self.context['bankcard_form'] = self.bankcard_form
        self.context['billing_address_form'] = self.billing_addr_form
        return TemplateResponse(self.request, self.template_file, self.context)
    def handle_payment_details_submission(self, request):
        # Check forms are valid
        bankcard_form = forms.BankcardForm(request.POST)
        billing_address_form = BillingAddressForm(request.POST)
        if bankcard_form.is_valid() and billing_address_form.is_valid():
            # Forms are valid - render preview with forms hidden in the page
            return self.render_preview(
                request,
                bankcard=bankcard_form.bankcard,
                bankcard_form=bankcard_form,
                billing_address=billing_address_form.save(commit=False),
                billing_address_form=billing_address_form)

        # Form invalid - re-render
        return self.render_payment_details(
            request, bankcard_form=bankcard_form,
            billing_address_form=billing_address_form)
示例#5
0
 def handle_POST(self):
     if self.is_cheque_payment():
         return self.submit()
     try:
         self.bankcard_form = BankcardForm(self.request.POST)
         self.billing_addr_form = BillingAddressForm(self.request.POST)
         if self.bankcard_form.is_valid() and self.billing_addr_form.is_valid():
             return self.submit()
     except TransactionDeclinedException, e:
         self.context["payment_error"] = str(e)
示例#6
0
 def get_context_data(self, **kwargs):
     """
     :param kwargs:
     :return:
     """
     ctx = super(PaymentDetailsView, self).get_context_data(**kwargs)
     if 'cod_form' not in kwargs:
         ctx['cod_form'] = CODForm()
     ctx['billing_address_form'] = kwargs.get(
         'billing_address_form', BillingAddressForm())
     return ctx
示例#7
0
 def handle_GET(self):
     if self.is_cheque_payment():
         self.template_file = 'checkout/payment_details_cheque.html'
     else:
         shipping_addr = self.get_shipping_address()
         card_values = {'name': shipping_addr.name()}
         self.context['bankcard_form'] = BankcardForm(initial=card_values)
         addr_values = {'first_name': shipping_addr.first_name,
                        'last_name': shipping_addr.last_name,}
         self.context['billing_address_form'] = BillingAddressForm(initial=addr_values)
     return TemplateResponse(self.request, self.template_file, self.context)
    def handle_place_order_submission(self, request):
        # Check data from hidden forms again to ensure it hasn't been tampered
        # with.
        bankcard_form = forms.BankcardForm(request.POST)
        billing_address_form = BillingAddressForm(request.POST)
        if bankcard_form.is_valid() and billing_address_form.is_valid():
            # Data is ok - submit order
            submission = self.build_submission(
                order_kwargs={
                    'billing_address': billing_address_form.save(commit=False)
                },
                payment_kwargs={
                    'bankcard_form': bankcard_form,
                    'billing_address_form': billing_address_form,
                })
            return self.submit(**submission)

        # If we get here, it means the hidden forms have been tampered with.
        messages.error(request, _("Invalid submission"))
        return http.HttpResponseRedirect(
            reverse('checkout:payment-details'))