diff --git a/nummi/account/templates/account/account_detail.html b/nummi/account/templates/account/account_detail.html index fcd9321..a4b6676 100644 --- a/nummi/account/templates/account/account_detail.html +++ b/nummi/account/templates/account/account_detail.html @@ -16,7 +16,9 @@

{% translate "Statements" %}

- {% statement_table statements statements_url=statements_url new_statement_url=new_statement_url %} + {% url "new_statement" account=account.pk as ns_url %} + {% url "account_statements" account=account.pk as s_url %} + {% statement_table account.statement_set.all statements_url=s_url new_statement_url=ns_url n_max=6 %}
{% if history %}
diff --git a/nummi/account/templates/account/account_table.html b/nummi/account/templates/account/account_table.html index 25655b7..0de11e9 100644 --- a/nummi/account/templates/account/account_table.html +++ b/nummi/account/templates/account/account_table.html @@ -15,11 +15,9 @@
{{ "gallery-view"|remixnl }}{% translate "All accounts" %}
- {% if total %} -
- {{ total|value }} -
- {% endif %} +
+ {{ accounts|balance|value }} +
{% else %}
diff --git a/nummi/account/views.py b/nummi/account/views.py index 92066cd..bf63ae1 100644 --- a/nummi/account/views.py +++ b/nummi/account/views.py @@ -1,5 +1,4 @@ from django.shortcuts import get_object_or_404 -from django.urls import reverse_lazy from history.utils import history from main.views import ( NummiCreateView, @@ -37,21 +36,10 @@ class AccountDetailView(NummiDetailView): pk_url_kwarg = "account" def get_context_data(self, **kwargs): - _max = 6 data = super().get_context_data(**kwargs) account = data.get("object") - _statements = account.statement_set.all() - if _statements.count() > _max: - data["statements_url"] = reverse_lazy( - "account_statements", args=(account.pk,) - ) - return data | { - "new_statement_url": reverse_lazy( - "new_statement", kwargs={"account": account.pk} - ), - "statements": _statements[:_max], "history": history(Transaction.objects.filter(statement__account=account)), } diff --git a/nummi/main/templates/main/index.html b/nummi/main/templates/main/index.html index d601937..fd57b90 100644 --- a/nummi/main/templates/main/index.html +++ b/nummi/main/templates/main/index.html @@ -12,18 +12,19 @@

{% translate "Accounts" %}

- {% account_table accounts index=True total=accounts|balance %} + {% account_table user.account_set.all index=True %}

{% translate "Statements" %}

- {% statement_table statements statements_url=statements_url %} + {% url "statements" as s_url %} + {% statement_table statements statements_url=s_url %}

{% translate "Categories" %}

{% spaceless %}

- {% for cat in categories %} + {% for cat in user.category_set.all %} {{ cat.icon|remix }}{{ cat }} {% endfor %} {{ "add"|remix }}{% translate "Create category" %} diff --git a/nummi/main/views.py b/nummi/main/views.py index 0dc8b3f..df08d7c 100644 --- a/nummi/main/views.py +++ b/nummi/main/views.py @@ -1,5 +1,3 @@ -from account.models import Account -from category.models import Category from django.contrib import messages from django.contrib.auth import views as auth_views from django.contrib.auth.mixins import LoginRequiredMixin @@ -15,33 +13,24 @@ from django.views.generic import ( UpdateView, ) from history.utils import history -from statement.models import Statement -from transaction.models import Transaction class IndexView(LoginRequiredMixin, TemplateView): template_name = "main/index.html" def get_context_data(self, **kwargs): - _max = 8 - _transactions = Transaction.objects.filter(user=self.request.user) - _accounts = Account.objects.filter(user=self.request.user) + _user = self.request.user + _transactions = _user.transaction_set.all() _statements = ( - Statement.objects.filter(user=self.request.user) - .exclude(account__archived=True) + _user.statement_set.exclude(account__archived=True) .order_by("account__id", "-date") .distinct("account__id") ) res = { - "accounts": _accounts, - "categories": Category.objects.filter(user=self.request.user), "statements": _statements, "history": history(_transactions.exclude(category__budget=False)), } - if _transactions.count() > _max: - res["transactions_url"] = reverse_lazy("transactions") - res["statements_url"] = reverse_lazy("statements") return super().get_context_data(**kwargs) | res diff --git a/nummi/statement/templates/statement/statement_list.html b/nummi/statement/templates/statement/statement_list.html index 6970a63..2b2d998 100644 --- a/nummi/statement/templates/statement/statement_list.html +++ b/nummi/statement/templates/statement/statement_list.html @@ -7,6 +7,6 @@ {% translate "Statements" %} {% endblock h2 %} {% block table %} - {% url "new_statement" as new_statement_url %} - {% statement_table statements new_statement_url=new_statement_url %} + {% url "new_statement" as ns_url %} + {% statement_table statements new_statement_url=ns_url %} {% endblock table %} diff --git a/nummi/statement/templatetags/statement_extras.py b/nummi/statement/templatetags/statement_extras.py index 54eef80..d63dd6d 100644 --- a/nummi/statement/templatetags/statement_extras.py +++ b/nummi/statement/templatetags/statement_extras.py @@ -16,6 +16,11 @@ def check(s, diff): @register.inclusion_tag("statement/statement_table.html") def statement_table(statements, **kwargs): + if (n_max := kwargs.get("n_max")) is not None: + if statements.count() <= n_max: + del kwargs["statements_url"] + statements = statements[:n_max] + return kwargs | { "statements": statements, }