From 5132141c68743155fa48ccfca123381295475fae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Thu, 9 Mar 2023 17:16:05 +0800 Subject: [PATCH] Renamed the "is_pay_off_needed" column of the Account data model to "is_offset_needed", and the "pay_off_target_id" column of the JournalEntry data model to "original_id". --- src/accounting/account/commands.py | 8 +++---- src/accounting/account/forms.py | 6 ++--- src/accounting/account/queries.py | 4 ++-- src/accounting/models.py | 22 +++++++++---------- src/accounting/report/reports/search.py | 4 ++-- .../templates/accounting/account/detail.html | 4 ++-- .../accounting/account/include/form.html | 6 ++--- .../templates/accounting/account/list.html | 4 ++-- 8 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/accounting/account/commands.py b/src/accounting/account/commands.py index 85ee12e..1634b8d 100644 --- a/src/accounting/account/commands.py +++ b/src/accounting/account/commands.py @@ -30,7 +30,7 @@ from accounting.utils.user import has_user, get_user_pk AccountData = tuple[int, str, int, str, str, str, bool] """The format of the account data, as a list of (ID, base account code, number, -English, Traditional Chinese, Simplified Chinese, is-pay-off-needed) tuples.""" +English, Traditional Chinese, Simplified Chinese, is-offset-needed) tuples.""" def __validate_username(ctx: click.core.Context, param: click.core.Option, @@ -93,10 +93,10 @@ def init_accounts_command(username: str) -> None: data: list[AccountData] = [] for base in bases_to_add: l10n: dict[str, str] = {x.locale: x.title for x in base.l10n} - is_pay_off_needed: bool = True if re.match("^[12]1[34]", base.code) \ + is_offset_needed: bool = True if re.match("^[12]1[34]", base.code) \ else False data.append((get_new_id(), base.code, 1, base.title_l10n, - l10n["zh_Hant"], l10n["zh_Hans"], is_pay_off_needed)) + l10n["zh_Hant"], l10n["zh_Hans"], is_offset_needed)) __add_accounting_accounts(data, creator_pk) click.echo(F"{len(data)} added. Accounting accounts initialized.") @@ -113,7 +113,7 @@ def __add_accounting_accounts(data: list[AccountData], creator_pk: int)\ base_code=x[1], no=x[2], title_l10n=x[3], - is_pay_off_needed=x[6], + is_offset_needed=x[6], created_by_id=creator_pk, updated_by_id=creator_pk) for x in data] diff --git a/src/accounting/account/forms.py b/src/accounting/account/forms.py index 7012ebd..ba03fdd 100644 --- a/src/accounting/account/forms.py +++ b/src/accounting/account/forms.py @@ -66,8 +66,8 @@ class AccountForm(FlaskForm): filters=[strip_text], validators=[DataRequired(lazy_gettext("Please fill in the title"))]) """The title.""" - is_pay_off_needed = BooleanField() - """Whether the the entries of this account need pay-off.""" + is_offset_needed = BooleanField() + """Whether the the entries of this account need offset.""" def populate_obj(self, obj: Account) -> None: """Populates the form data into an account object. @@ -87,7 +87,7 @@ class AccountForm(FlaskForm): obj.base_code = self.base_code.data obj.no = count + 1 obj.title = self.title.data - obj.is_pay_off_needed = self.is_pay_off_needed.data + obj.is_offset_needed = self.is_offset_needed.data if is_new: current_user_pk: int = get_current_user_pk() obj.created_by_id = current_user_pk diff --git a/src/accounting/account/queries.py b/src/accounting/account/queries.py index 871ec7c..9e6d9af 100644 --- a/src/accounting/account/queries.py +++ b/src/accounting/account/queries.py @@ -47,8 +47,8 @@ def get_account_query() -> list[Account]: Account.title_l10n.contains(k), code.contains(k), Account.id.in_(l10n_matches)] - if k in gettext("Pay-off needed"): - sub_conditions.append(Account.is_pay_off_needed) + if k in gettext("Need offset"): + sub_conditions.append(Account.is_offset_needed) conditions.append(sa.or_(*sub_conditions)) return Account.query.filter(*conditions)\ diff --git a/src/accounting/models.py b/src/accounting/models.py index 86f9dbc..b46894f 100644 --- a/src/accounting/models.py +++ b/src/accounting/models.py @@ -113,8 +113,8 @@ class Account(db.Model): """The account number under the base account.""" title_l10n = db.Column("title", db.String, nullable=False) """The title.""" - is_pay_off_needed = db.Column(db.Boolean, nullable=False, default=False) - """Whether the entries of this account need pay-off.""" + is_offset_needed = db.Column(db.Boolean, nullable=False, default=False) + """Whether the entries of this account need offset.""" created_at = db.Column(db.DateTime(timezone=True), nullable=False, server_default=db.func.now()) """The time of creation.""" @@ -597,15 +597,15 @@ class JournalEntry(db.Model): """True for a debit entry, or False for a credit entry.""" no = db.Column(db.Integer, nullable=False) """The entry number under the transaction and debit or credit.""" - pay_off_target_id = db.Column(db.Integer, - db.ForeignKey(id, onupdate="CASCADE"), - nullable=True) - """The ID of the pay-off target entry.""" - pay_off_target = db.relationship("JournalEntry", back_populates="pay_off", - remote_side=id, passive_deletes=True) - """The pay-off target entry.""" - pay_off = db.relationship("JournalEntry", back_populates="pay_off_target") - """The pay-off entries.""" + original_id = db.Column(db.Integer, + db.ForeignKey(id, onupdate="CASCADE"), + nullable=True) + """The ID of the original entry when offsetting.""" + original = db.relationship("JournalEntry", back_populates="offset", + remote_side=id, passive_deletes=True) + """The original entry when offsetting.""" + offset = db.relationship("JournalEntry", back_populates="original") + """The offset entries.""" currency_code = db.Column(db.String, db.ForeignKey(Currency.code, onupdate="CASCADE"), nullable=False) diff --git a/src/accounting/report/reports/search.py b/src/accounting/report/reports/search.py index b11c416..edb87bb 100644 --- a/src/accounting/report/reports/search.py +++ b/src/accounting/report/reports/search.py @@ -91,8 +91,8 @@ class EntryCollector: Account.title_l10n.contains(k), code.contains(k), Account.id.in_(select_l10n)] - if k in gettext("Pay-off needed"): - conditions.append(Account.is_pay_off_needed) + if k in gettext("Need offset"): + conditions.append(Account.is_offset_needed) return sa.select(Account.id).filter(sa.or_(*conditions)) @staticmethod diff --git a/src/accounting/templates/accounting/account/detail.html b/src/accounting/templates/accounting/account/detail.html index ff5cbac..f23ce5f 100644 --- a/src/accounting/templates/accounting/account/detail.html +++ b/src/accounting/templates/accounting/account/detail.html @@ -85,9 +85,9 @@ First written: 2023/1/31
{{ obj.title }}
{{ obj.code }}
- {% if obj.is_pay_off_needed %} + {% if obj.is_offset_needed %}
- {{ A_("Pay-off needed") }} + {{ A_("Need offset") }}
{% endif %}
diff --git a/src/accounting/templates/accounting/account/include/form.html b/src/accounting/templates/accounting/account/include/form.html index 3c7ac8e..7d7b4ce 100644 --- a/src/accounting/templates/accounting/account/include/form.html +++ b/src/accounting/templates/accounting/account/include/form.html @@ -63,9 +63,9 @@ First written: 2023/2/1
- -
diff --git a/src/accounting/templates/accounting/account/list.html b/src/accounting/templates/accounting/account/list.html index 3d119fa..e7f0887 100644 --- a/src/accounting/templates/accounting/account/list.html +++ b/src/accounting/templates/accounting/account/list.html @@ -58,8 +58,8 @@ First written: 2023/1/30 {% for item in list %} {{ item }} - {% if item.is_pay_off_needed %} - {{ A_("Pay-off needed") }} + {% if item.is_offset_needed %} + {{ A_("Need offset") }} {% endif %} {% endfor %}