From 236d7961a0db485b158e07d2c6705dc144da4905 Mon Sep 17 00:00:00 2001 From: Tom Teichler <tom.teichler@teckids.org> Date: Sun, 6 Mar 2022 23:35:09 +0100 Subject: [PATCH] Add view to view invoices --- aleksis/apps/tezor/urls.py | 2 +- aleksis/apps/tezor/views.py | 21 +++++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/aleksis/apps/tezor/urls.py b/aleksis/apps/tezor/urls.py index 0c1cdfe..571809c 100644 --- a/aleksis/apps/tezor/urls.py +++ b/aleksis/apps/tezor/urls.py @@ -3,6 +3,6 @@ from django.urls import include, path from . import views urlpatterns = [ - path("empty", views.empty, name="empty"), path("payments/", include("payments.urls")), + path("invoice/<int:pk>/print", views.GetInvoicePDF.as_view(), name="get_invoice_by_pk") ] diff --git a/aleksis/apps/tezor/views.py b/aleksis/apps/tezor/views.py index c808ecb..b44eae7 100644 --- a/aleksis/apps/tezor/views.py +++ b/aleksis/apps/tezor/views.py @@ -1,10 +1,19 @@ -from django.contrib.auth.decorators import login_required -from django.http import HttpRequest, HttpResponse +from django.views.generic import View from django.shortcuts import render +from rules.contrib.views import PermissionRequiredMixin -@login_required -def empty(request: HttpRequest) -> HttpResponse: - context = {} +from .models.invoice import Invoice + + +class GetInvoicePDF(PermissionRequiredMixin, View): + + permission_required = "tezor.can_print_invoice" + + def get(self, request, *args, **kwargs): + context = {} + invoice = Invoice.objects.get(id=self.kwargs["pk"]) + context["invoice"] = invoice + + return render(request, invoice.group.template_name, context=context) - return render(request, "tezor/empty.html", context) -- GitLab