Revised the loading of the summary helper so that only the required helpers are loaded, but not both the debit and credit helpers.

This commit is contained in:
依瑪貓 2023-02-28 21:35:02 +08:00
parent b34955f2fb
commit 474e844ed9
5 changed files with 13 additions and 6 deletions

View File

@ -46,5 +46,8 @@ First written: 2023/2/25
{% endblock %}
{% block account_selector_modals %}
{% with summary_helper = form.summary_helper.debit %}
{% include "accounting/transaction/include/summary-helper-modal.html" %}
{% endwith %}
{% include "accounting/transaction/include/debit-account-modal.html" %}
{% endblock %}

View File

@ -86,9 +86,6 @@ First written: 2023/2/26
</form>
{% include "accounting/transaction/include/entry-form-modal.html" %}
{% for summary_helper in form.summary_helper.types %}
{% include "accounting/transaction/include/summary-helper-modal.html" %}
{% endfor %}
{% block account_selector_modals %}{% endblock %}
{% endblock %}

View File

@ -46,5 +46,8 @@ First written: 2023/2/25
{% endblock %}
{% block account_selector_modals %}
{% with summary_helper = form.summary_helper.credit %}
{% include "accounting/transaction/include/summary-helper-modal.html" %}
{% endwith %}
{% include "accounting/transaction/include/credit-account-modal.html" %}
{% endblock %}

View File

@ -50,6 +50,12 @@ First written: 2023/2/25
{% endblock %}
{% block account_selector_modals %}
{% with summary_helper = form.summary_helper.debit %}
{% include "accounting/transaction/include/summary-helper-modal.html" %}
{% endwith %}
{% with summary_helper = form.summary_helper.credit %}
{% include "accounting/transaction/include/summary-helper-modal.html" %}
{% endwith %}
{% include "accounting/transaction/include/debit-account-modal.html" %}
{% include "accounting/transaction/include/credit-account-modal.html" %}
{% endblock %}

View File

@ -206,8 +206,6 @@ class SummaryHelper:
"""The debit tags."""
self.credit: SummaryEntryType = SummaryEntryType("credit")
"""The credit tags."""
self.types: set[SummaryEntryType] = {self.debit, self.credit}
"""The tags categorized by the entry types."""
entry_type: sa.Label = sa.case((JournalEntry.is_debit, "debit"),
else_="credit").label("entry_type")
tag_type: sa.Label = sa.case(
@ -227,7 +225,7 @@ class SummaryHelper:
= {x.id: x for x in Account.query
.filter(Account.id.in_({x.account_id for x in result})).all()}
entry_type_dict: dict[t.Literal["debit", "credit"], SummaryEntryType] \
= {x.type: x for x in self.types}
= {x.type: x for x in {self.debit, self.credit}}
for row in result:
entry_type_dict[row.entry_type].add_tag(
row.tag_type, row.tag, accounts[row.account_id], row.freq)