Beispiel #1
0
def process_payment(request, payment_id, order_class):
    """This view processes the specified payment. It checks for backend, validates
	it's availability and asks again for it if something is wrong."""
    if order_class == "advertising":
        payment = get_object_or_404(Payment, id=payment_id, status='new')
    else:
        payment = get_object_or_404(FeaturedEventPayment,
                                    id=payment_id,
                                    status='new')

    if request.method == 'POST' or request.REQUEST.has_key('backend'):
        data = request.REQUEST
    elif len(settings.MAMONA_ACTIVE_BACKENDS) == 1:
        data = {'backend': settings.MAMONA_ACTIVE_BACKENDS[0]}
    else:
        data = None
    bknd_form = PaymentMethodForm(data=data, payment=payment)
    if bknd_form.is_valid():
        bknd_form.save()
        return HttpResponseRedirect(
            reverse('mamona-confirm-payment',
                    kwargs={
                        'payment_id': payment.id,
                        'order_class': order_class
                    }))
    return render(
        request,
        'mamona/select_payment_method.html',
        {
            'payment': payment,
            'form': bknd_form
        },
    )
Beispiel #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}
		)
Beispiel #3
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
    })
Beispiel #4
0
def process_payment(request, payment_id):
	"""This view processes the specified payment. It checks for backend, validates
	it's availability and asks again for it if something is wrong."""
	payment = get_object_or_404(Payment, id=payment_id, status='new')
	if request.method == 'POST' or request.REQUEST.has_key('backend'):
		data = request.REQUEST
	elif len(settings.MAMONA_ACTIVE_BACKENDS) == 1:
		data = {'backend': settings.MAMONA_ACTIVE_BACKENDS[0]}
	else:
		data = None
	bknd_form = PaymentMethodForm(data=data, payment=payment)
	if bknd_form.is_valid():
		bknd_form.save()
		return HttpResponseRedirect(
				reverse('mamona-confirm-payment', kwargs={'payment_id': payment.id}))
	return render(
			request,
			'mamona/select_payment_method.html',
			{'payment': payment, 'form': bknd_form},
			)