Skip to content
Snippets Groups Projects

Resolve "Add payment processing UI"

Merged Tom Teichler requested to merge 3-add-payment-processing-ui-2 into payment-backends
1 file
+ 20
14
Compare changes
  • Side-by-side
  • Inline
+ 20
14
@@ -21,7 +21,7 @@ from .models.invoice import Invoice, InvoiceGroup
class GetInvoicePDF(PermissionRequiredMixin, RenderPDFView):
permission_required = "tezor.can_print_invoice"
permission_required = "tezor.print_invoice_rule"
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
@@ -33,23 +33,29 @@ class GetInvoicePDF(PermissionRequiredMixin, RenderPDFView):
return context
def do_payment(request, token):
payment = get_object_or_404(get_payment_model(), token=token)
class DoPaymentView(PermissionRequiredMixin, View):
if payment.status not in [PaymentStatus.WAITING, PaymentStatus.INPUT, PaymentStatus.REJECTED]:
return redirect(payment.get_success_url())
model = Invoice
permission_required = "tezor.do_payment_rule"
template_name = "tezor/invoice/payment.html"
def dispatch(self, request, token):
self.object = get_object_or_404(self.model, token=token)
if self.object.status not in [PaymentStatus.WAITING, PaymentStatus.INPUT, PaymentStatus.REJECTED]:
return redirect(self.object.get_success_url())
try:
form = payment.get_form(data=request.POST or None)
except RedirectNeeded as redirect_to:
return redirect(str(redirect_to))
try:
form = self.object.get_form(data=request.POST or None)
except RedirectNeeded as redirect_to:
return redirect(str(redirect_to))
context = {
"form": form,
"payment": payment,
}
context = {
"form": form,
"payment": self.object,
}
return render(request, "tezor/invoice/payment.html", context)
return render(request, self.template_name, context)
class ClientListView(PermissionRequiredMixin, SingleTableView):
Loading