Added the currently-specified subject to the template variables, and use it in the template.

This commit is contained in:
依瑪貓 2020-07-08 11:07:00 +08:00
parent 149aa8391a
commit fc2e89ca1a
2 changed files with 13 additions and 5 deletions

View File

@ -25,7 +25,7 @@ First written: 2020/7/1
{% block settings %}
{% trans "Cash Account for {} in {}" context "Accounting|" as title_format %}
{% format title_format "庫存現金" period.description as title %}
{% format title_format subject.title_zhtw period.description as title %}
{% setvar "title" title %}
{% endblock %}

View File

@ -26,11 +26,11 @@ from django.urls import reverse
from django.utils import dateformat
from django.utils.decorators import method_decorator
from django.utils.timezone import localdate
from django.utils.translation import get_language
from django.utils.translation import get_language, pgettext
from django.views import generic
from django.views.decorators.http import require_GET
from accounting.models import Record, Transaction
from accounting.models import Record, Transaction, Subject
from mia_core.period import Period
from mia import settings
from mia_core.digest_auth import digest_login_required
@ -73,11 +73,13 @@ class BaseReportView(generic.ListView):
page_no (int): The specified page number
page_size (int): The specified page size
period (Period): The template period helper
subject (Subject): The currently-specified subject
"""
page_no = None
page_size = None
pagination = None
period = None
subject = None
def get(self, request, *args, **kwargs):
"""Adds object_list to the context.
@ -128,6 +130,7 @@ class BaseReportView(generic.ListView):
def get_context_data(self, **kwargs):
data = super(BaseReportView, self).get_context_data(**kwargs)
data["period"] = self.period
data["subject"] = self.subject
data["pagination_links"] = self.pagination.links
return data
@ -152,6 +155,9 @@ class CashReportView(BaseReportView):
get_language(), data_start, data_end,
self.kwargs["period_spec"])
if self.kwargs["subject_code"] == "0":
self.subject = Subject(code="0")
self.subject.title_zhtw = pgettext(
"Accounting|", "Current assets and liabilities")
records = Record.objects.raw(
"""SELECT r.*
FROM accounting_records AS r
@ -184,6 +190,8 @@ ORDER BY
r.ord""",
[self.period.start, self.period.end])
else:
self.subject = Subject.objects.filter(
code=self.kwargs["subject_code"]).first()
records = Record.objects.raw(
"""SELECT r.*
FROM accounting_records AS r
@ -210,8 +218,8 @@ ORDER BY
r.ord""",
[self.period.start,
self.period.end,
self.kwargs["subject_code"] + "%",
self.kwargs["subject_code"] + "%"])
self.subject.code + "%",
self.subject.code + "%"])
self.pagination = Pagination(
self.request.get_full_path(), records,
self.page_no, self.page_size, True)