Exemple #1
0
def order_multiitem(request):
    # approach 2: an order with no payment method (Mamona will ask)
    order = UnawareOrder()
    if request.method == 'POST':
        formset = ItemFormSet(instance=order, data=request.POST)
        if formset.is_valid():
            order.save()
            formset.save()
            payment = order.payments.create(amount=order.total,
                                            currency=order.currency)
            return HttpResponseRedirect(
                reverse('mamona-process-payment',
                        kwargs={'payment_id': payment.id}))
    else:
        formset = ItemFormSet(instance=order)
    return direct_to_template(request, 'sales/order_multiitem.html', {
        'order': order,
        'formset': formset
    })
Exemple #2
0
def order_singlescreen(request):
    # approach 3: single screen (ask for everything)
    order = UnawareOrder()
    payment_form = PaymentMethodForm(data=request.POST or None)
    formset = ItemFormSet(instance=order, data=request.POST or None)
    if request.method == 'POST':
        if formset.is_valid() and payment_form.is_valid():
            order.save()
            formset.save()
            payment = order.payments.create(amount=order.total,
                                            currency=order.currency)
            payment_form.save(payment)
            return HttpResponseRedirect(
                reverse('mamona-confirm-payment',
                        kwargs={'payment_id': payment.id}))
    return direct_to_template(request, 'sales/order_singlescreen.html', {
        'order': order,
        'formset': formset,
        'payment_form': payment_form
    })