From ee25223e73567ae0aa597b1980752da076ff2fc5 Mon Sep 17 00:00:00 2001 From: "Edgar P. Burkhart" Date: Sat, 22 Apr 2023 12:44:34 +0200 Subject: [PATCH] Implemented frontend for transactions and invoices --- .../templates/main/month/transaction.html | 27 ----------- nummi/transaction/models.py | 10 ++-- .../templates/transaction/invoice_form.html} | 0 .../transaction_archive_month.html | 2 + .../transaction/transaction_form.html} | 0 .../transaction/transaction_list.html} | 10 +++- nummi/transaction/urls.py | 46 +++++++++---------- nummi/transaction/views.py | 22 ++++----- 8 files changed, 46 insertions(+), 71 deletions(-) delete mode 100644 nummi/main/templates/main/month/transaction.html rename nummi/{main/templates/main/form/invoice.html => transaction/templates/transaction/invoice_form.html} (100%) create mode 100644 nummi/transaction/templates/transaction/transaction_archive_month.html rename nummi/{main/templates/main/form/transaction.html => transaction/templates/transaction/transaction_form.html} (100%) rename nummi/{main/templates/main/list/transaction.html => transaction/templates/transaction/transaction_list.html} (86%) diff --git a/nummi/main/templates/main/month/transaction.html b/nummi/main/templates/main/month/transaction.html deleted file mode 100644 index cb492c1..0000000 --- a/nummi/main/templates/main/month/transaction.html +++ /dev/null @@ -1,27 +0,0 @@ -{% extends "main/base.html" %} -{% load static %} -{% load main_extras %} -{% load i18n %} -{% block link %} - {{ block.super }} - - -{% endblock %} -{% block body %} -

{% translate "Transactions" %} – {{ month|date:"F Y"|capfirst }}

- {% if account %} -

- {{ account.icon|remix }}{{ account }} -

- {% endif %} - {% if category %} -

- {{ category.icon|remix }}{{ category }} -

- {% endif %} - {% include "main/table/transaction.html" %} -{% endblock %} diff --git a/nummi/transaction/models.py b/nummi/transaction/models.py index 3238a76..7f20c7c 100644 --- a/nummi/transaction/models.py +++ b/nummi/transaction/models.py @@ -67,7 +67,7 @@ class Transaction(UserModel): return reverse("transaction", kwargs={"pk": self.pk}) def get_delete_url(self): - return reverse("del_transaction", kwargs={"pk": self.pk}) + return reverse("del_transaction", args=(self.pk,)) @property def invoices(self): @@ -113,14 +113,10 @@ class Invoice(UserModel): super().delete(*args, **kwargs) def get_absolute_url(self): - return reverse( - "invoice", kwargs={"transaction_pk": self.transaction.pk, "pk": self.pk} - ) + return reverse("invoice", args=(self.transaction.pk, self.pk)) def get_delete_url(self): - return reverse( - "del_invoice", kwargs={"transaction_pk": self.transaction.pk, "pk": self.pk} - ) + return reverse("del_invoice", args=(self.transaction.pk, self.pk)) class Meta: verbose_name = _("Invoice") diff --git a/nummi/main/templates/main/form/invoice.html b/nummi/transaction/templates/transaction/invoice_form.html similarity index 100% rename from nummi/main/templates/main/form/invoice.html rename to nummi/transaction/templates/transaction/invoice_form.html diff --git a/nummi/transaction/templates/transaction/transaction_archive_month.html b/nummi/transaction/templates/transaction/transaction_archive_month.html new file mode 100644 index 0000000..efd440f --- /dev/null +++ b/nummi/transaction/templates/transaction/transaction_archive_month.html @@ -0,0 +1,2 @@ +{% extends "transaction/transaction_list.html" %} +{% block h2 %}{{ month|date:"F Y"|capfirst }}{% endblock %} diff --git a/nummi/main/templates/main/form/transaction.html b/nummi/transaction/templates/transaction/transaction_form.html similarity index 100% rename from nummi/main/templates/main/form/transaction.html rename to nummi/transaction/templates/transaction/transaction_form.html diff --git a/nummi/main/templates/main/list/transaction.html b/nummi/transaction/templates/transaction/transaction_list.html similarity index 86% rename from nummi/main/templates/main/list/transaction.html rename to nummi/transaction/templates/transaction/transaction_list.html index de2f7b0..ee087e7 100644 --- a/nummi/main/templates/main/list/transaction.html +++ b/nummi/transaction/templates/transaction/transaction_list.html @@ -21,7 +21,11 @@ type="text/css" /> {% endblock %} {% block body %} -

{% translate "Transactions" %}

+

+ {% block h2 %} + {% translate "Transactions" %} + {% endblock %} +

{% if account %}

{{ account.icon|remix }}{{ account }} @@ -33,7 +37,9 @@

{% endif %} {% if search %} - {% translate "Search" %} +

+ {% translate "Search" %} +

{% endif %} {% if transactions %} {% include "main/list/pagination.html" %} diff --git a/nummi/transaction/urls.py b/nummi/transaction/urls.py index 31866e9..cba5e2e 100644 --- a/nummi/transaction/urls.py +++ b/nummi/transaction/urls.py @@ -3,32 +3,32 @@ from django.urls import path from . import views urlpatterns = [ - path("transactions", views.TransactionListView.as_view(), name="transactions"), - path("transaction", views.TransactionCreateView.as_view(), name="new_transaction"), - path( - "transaction//invoice", - views.InvoiceCreateView.as_view(), - name="new_invoice", - ), - path("transaction/", views.TransactionUpdateView.as_view(), name="transaction"), - path( - "transaction//invoice/", - views.InvoiceUpdateView.as_view(), - name="invoice", - ), - path( - "transaction//delete", - views.TransactionDeleteView.as_view(), - name="del_transaction", - ), - path( - "transaction//invoice//delete", - views.InvoiceDeleteView.as_view(), - name="del_invoice", - ), + path("list", views.TransactionListView.as_view(), name="transactions"), path( "history//", views.TransactionMonthView.as_view(), name="transaction_month", ), + path("new", views.TransactionCreateView.as_view(), name="new_transaction"), + path("", views.TransactionUpdateView.as_view(), name="transaction"), + path( + "/delete", + views.TransactionDeleteView.as_view(), + name="del_transaction", + ), + path( + "/invoice/new", + views.InvoiceCreateView.as_view(), + name="new_invoice", + ), + path( + "/invoice/", + views.InvoiceUpdateView.as_view(), + name="invoice", + ), + path( + "/invoice//delete", + views.InvoiceDeleteView.as_view(), + name="del_invoice", + ), ] diff --git a/nummi/transaction/views.py b/nummi/transaction/views.py index 42bf7e1..e30825b 100644 --- a/nummi/transaction/views.py +++ b/nummi/transaction/views.py @@ -19,7 +19,6 @@ from .models import Invoice, Transaction class TransactionCreateView(NummiCreateView): model = Transaction form_class = TransactionForm - template_name = "main/form/transaction.html" def get_initial(self): _queryset = Statement.objects.filter(user=self.request.user) @@ -43,32 +42,31 @@ class TransactionCreateView(NummiCreateView): class InvoiceCreateView(NummiCreateView): model = Invoice form_class = InvoiceForm - template_name = "main/form/invoice.html" def form_valid(self, form): form.instance.transaction = get_object_or_404( Transaction.objects.filter(user=self.request.user), - pk=self.kwargs["transaction_pk"], + pk=self.kwargs["transaction"], ) return super().form_valid(form) def get_success_url(self): - return reverse_lazy("transaction", kwargs={"pk": self.object.transaction.pk}) + return reverse_lazy("transaction", args=(self.object.transaction.pk,)) class TransactionUpdateView(NummiUpdateView): model = Transaction form_class = TransactionForm - template_name = "main/form/transaction.html" + pk_url_kwarg = "transaction" class InvoiceUpdateView(NummiUpdateView): model = Invoice form_class = InvoiceForm - template_name = "main/form/invoice.html" + pk_url_kwarg = "invoice" def get_success_url(self): - return reverse_lazy("transaction", kwargs={"pk": self.object.transaction.pk}) + return reverse_lazy("transaction", args=(self.object.transaction.pk,)) def get_queryset(self): return ( @@ -76,7 +74,7 @@ class InvoiceUpdateView(NummiUpdateView): .get_queryset() .filter( transaction=get_object_or_404( - Transaction, pk=self.kwargs["transaction_pk"] + Transaction, pk=self.kwargs["transaction"] ) ) ) @@ -84,13 +82,15 @@ class InvoiceUpdateView(NummiUpdateView): class TransactionDeleteView(NummiDeleteView): model = Transaction + pk_url_kwarg = "transaction" class InvoiceDeleteView(NummiDeleteView): model = Invoice + pk_url_kwarg = "invoice" def get_success_url(self): - return reverse_lazy("transaction", kwargs={"pk": self.object.transaction.pk}) + return reverse_lazy("transaction", args=(self.object.transaction.pk,)) def get_queryset(self): return ( @@ -98,7 +98,7 @@ class InvoiceDeleteView(NummiDeleteView): .get_queryset() .filter( transaction=get_object_or_404( - Transaction, pk=self.kwargs["transaction_pk"] + Transaction, pk=self.kwargs["transaction"] ) ) ) @@ -106,12 +106,10 @@ class InvoiceDeleteView(NummiDeleteView): class TransactionListView(NummiListView): model = Transaction - template_name = "main/list/transaction.html" context_object_name = "transactions" class TransactionMonthView(UserMixin, MonthArchiveView): - template_name = "main/month/transaction.html" model = Transaction date_field = "date" context_object_name = "transactions"