Skip to content
Snippets Groups Projects
Verified Commit 99346f3c authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Separate payment details and do payments view

parent 96a3105e
No related branches found
No related tags found
1 merge request!3Implement payment backends and interaction
Pipeline #58967 failed
...@@ -80,7 +80,7 @@ class Invoice(BasePayment, PureDjangoModel): ...@@ -80,7 +80,7 @@ class Invoice(BasePayment, PureDjangoModel):
return TotalsTable(values) return TotalsTable(values)
def get_success_url(self): def get_success_url(self):
return reverse("payment_details", kwargs={"token": self.token}) return reverse("invoice_by_pk", kwargs={"pk": self.pk})
def get_failure_url(self): def get_failure_url(self):
return reverse("payment_details", kwargs={"token": self.token}) return reverse("invoice_by_pk", kwargs={"pk": self.pk})
...@@ -5,7 +5,7 @@ from . import views ...@@ -5,7 +5,7 @@ from . import views
urlpatterns = [ urlpatterns = [
path("payments/", include("payments.urls")), path("payments/", include("payments.urls")),
path("invoice/<int:pk>/print", views.GetInvoicePDF.as_view(), name="get_invoice_by_pk"), path("invoice/<int:pk>/print", views.GetInvoicePDF.as_view(), name="get_invoice_by_pk"),
path("invoice/<str:token>/payment", views.payment_details, name="payment_details"), path("invoice/<str:token>/payment", views.do_payment, name="do_payment"),
path( path(
"clients/list", "clients/list",
views.ClientListView.as_view(), views.ClientListView.as_view(),
......
...@@ -6,7 +6,7 @@ from django.urls import reverse, reverse_lazy ...@@ -6,7 +6,7 @@ from django.urls import reverse, reverse_lazy
from django.utils.decorators import method_decorator from django.utils.decorators import method_decorator
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from payments import get_payment_model, RedirectNeeded from payments import get_payment_model, PaymentStatus, RedirectNeeded
from rules.contrib.views import PermissionRequiredMixin from rules.contrib.views import PermissionRequiredMixin
from django_tables2.views import SingleTableView, RequestConfig from django_tables2.views import SingleTableView, RequestConfig
...@@ -32,9 +32,13 @@ class GetInvoicePDF(PermissionRequiredMixin, RenderPDFView): ...@@ -32,9 +32,13 @@ class GetInvoicePDF(PermissionRequiredMixin, RenderPDFView):
print(invoice.group.__dict__) print(invoice.group.__dict__)
return context return context
def payment_details(request, token):
def do_payment(request, token):
payment = get_object_or_404(get_payment_model(), token=token) payment = get_object_or_404(get_payment_model(), token=token)
if payment.status not in [PaymentStatus.WAITING, PaymentStatus.INPUT, PaymentStatus.REJECTED]:
return redirect(payment.get_success_url())
try: try:
form = payment.get_form(data=request.POST or None) form = payment.get_form(data=request.POST or None)
except RedirectNeeded as redirect_to: except RedirectNeeded as redirect_to:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment