Example #1
0
    def handle_POST(self):
        if self._is_cheque_payment():
            return self._submit()

        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()
        self.context['bankcard_form'] = bankcard_form
        self.context['billing_address_form'] = billing_addr_form
        return render(self.request, self.template_file, self.context)
Example #2
0
 def handle_GET(self):
     if self._is_cheque_payment():
         self.template_file = 'checkout/payment_details_cheque.html'
     else:
         self.context['bankcard_form'] = BankcardForm()
         self.context['billing_address_form'] = BillingAddressForm()
     return render(self.request, self.template_file, self.context)
Example #3
0
    def handle_POST(self):
        if self._is_cheque_payment():
            return self._submit()

        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()
        self.context['bankcard_form'] = bankcard_form
        self.context['billing_address_form'] = billing_addr_form
        return render(self.request, self.template_file, self.context)
Example #4
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:
            self.context['bankcard_form'] = BankcardForm()
            self.context['billing_address_form'] = BillingAddressForm()
        return render(self.request, self.template_file, self.context)

    def _is_cheque_payment(self):
        payment_method = self.co_data.payment_method()
        return payment_method == 'cheque'

    def handle_POST(self):
        if self._is_cheque_payment():
            return self._submit()

        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()
        self.context['bankcard_form'] = bankcard_form
        self.context['billing_address_form'] = billing_addr_form
        return render(self.request, self.template_file, self.context)

    def _handle_payment(self, basket, order_number):
        if self._is_cheque_payment():
            type = payment_models.SourceType.objects.get(code='cheque')
            allocation = self._get_chargable_total(basket)
            source = payment_models.Source(type=type, allocation=allocation)
            self.payment_sources.append(source)
            return
        self._handle_bankcard_payment()

    def _handle_bankcard_payment(self):
        # Handle payment problems with an exception
        pass

    def _place_order(self, basket, order_number):
        order = super(PaymentDetailsView,
                      self)._place_order(basket, order_number)
        if self._is_cheque_payment():
            # Set order status as on hold
            pass
        return order
Example #5
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:
            self.context['bankcard_form'] = BankcardForm()
            self.context['billing_address_form'] = BillingAddressForm()
        return render(self.request, self.template_file, self.context)
    
    def _is_cheque_payment(self):
        payment_method = self.co_data.payment_method()
        return payment_method == 'cheque'

    def handle_POST(self):
        if self._is_cheque_payment():
            return self._submit()

        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()
        self.context['bankcard_form'] = bankcard_form
        self.context['billing_address_form'] = billing_addr_form
        return render(self.request, self.template_file, self.context)

    def _handle_payment(self, basket, order_number):
        if self._is_cheque_payment():
            type = payment_models.SourceType.objects.get(code='cheque')
            allocation = self._get_chargable_total(basket)
            source = payment_models.Source(type=type, allocation=allocation)
            self.payment_sources.append(source)
            return
        self._handle_bankcard_payment()

    def _handle_bankcard_payment(self):
        # Handle payment problems with an exception
        pass

    def _place_order(self, basket, order_number):
        order = super(PaymentDetailsView, self)._place_order(basket, order_number)
        if self._is_cheque_payment():
            # Set order status as on hold
            pass
        return order