Renamed offset to pay-off, to be clear.
This commit is contained in:
parent
d9c08568cf
commit
d5af5de3c1
@ -30,7 +30,7 @@ from accounting.utils.user import has_user, get_user_pk
|
|||||||
|
|
||||||
AccountData = tuple[int, str, int, str, str, str, bool]
|
AccountData = tuple[int, str, int, str, str, str, bool]
|
||||||
"""The format of the account data, as a list of (ID, base account code, number,
|
"""The format of the account data, as a list of (ID, base account code, number,
|
||||||
English, Traditional Chinese, Simplified Chinese, is-offset-needed) tuples."""
|
English, Traditional Chinese, Simplified Chinese, is-pay-off-needed) tuples."""
|
||||||
|
|
||||||
|
|
||||||
def __validate_username(ctx: click.core.Context, param: click.core.Option,
|
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] = []
|
data: list[AccountData] = []
|
||||||
for base in bases_to_add:
|
for base in bases_to_add:
|
||||||
l10n: dict[str, str] = {x.locale: x.title for x in base.l10n}
|
l10n: dict[str, str] = {x.locale: x.title for x in base.l10n}
|
||||||
is_offset_needed: bool = True if re.match("^[12]1[34]", base.code) \
|
is_pay_off_needed: bool = True if re.match("^[12]1[34]", base.code) \
|
||||||
else False
|
else False
|
||||||
data.append((get_new_id(), base.code, 1, base.title_l10n,
|
data.append((get_new_id(), base.code, 1, base.title_l10n,
|
||||||
l10n["zh_Hant"], l10n["zh_Hans"], is_offset_needed))
|
l10n["zh_Hant"], l10n["zh_Hans"], is_pay_off_needed))
|
||||||
__add_accounting_accounts(data, creator_pk)
|
__add_accounting_accounts(data, creator_pk)
|
||||||
click.echo(F"{len(data)} added. Accounting accounts initialized.")
|
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],
|
base_code=x[1],
|
||||||
no=x[2],
|
no=x[2],
|
||||||
title_l10n=x[3],
|
title_l10n=x[3],
|
||||||
is_offset_needed=x[6],
|
is_pay_off_needed=x[6],
|
||||||
created_by_id=creator_pk,
|
created_by_id=creator_pk,
|
||||||
updated_by_id=creator_pk)
|
updated_by_id=creator_pk)
|
||||||
for x in data]
|
for x in data]
|
||||||
|
@ -66,8 +66,8 @@ class AccountForm(FlaskForm):
|
|||||||
filters=[strip_text],
|
filters=[strip_text],
|
||||||
validators=[DataRequired(lazy_gettext("Please fill in the title"))])
|
validators=[DataRequired(lazy_gettext("Please fill in the title"))])
|
||||||
"""The title."""
|
"""The title."""
|
||||||
is_offset_needed = BooleanField()
|
is_pay_off_needed = BooleanField()
|
||||||
"""Whether the the entries of this account need offsets."""
|
"""Whether the the entries of this account need pay-off."""
|
||||||
|
|
||||||
def populate_obj(self, obj: Account) -> None:
|
def populate_obj(self, obj: Account) -> None:
|
||||||
"""Populates the form data into an account object.
|
"""Populates the form data into an account object.
|
||||||
@ -86,7 +86,7 @@ class AccountForm(FlaskForm):
|
|||||||
.filter(Account.base_code == self.base_code.data)).one()
|
.filter(Account.base_code == self.base_code.data)).one()
|
||||||
obj.no = 1 if max_no is None else max_no + 1
|
obj.no = 1 if max_no is None else max_no + 1
|
||||||
obj.title = self.title.data
|
obj.title = self.title.data
|
||||||
obj.is_offset_needed = self.is_offset_needed.data
|
obj.is_pay_off_needed = self.is_pay_off_needed.data
|
||||||
if is_new:
|
if is_new:
|
||||||
current_user_pk: int = get_current_user_pk()
|
current_user_pk: int = get_current_user_pk()
|
||||||
obj.created_by_id = current_user_pk
|
obj.created_by_id = current_user_pk
|
||||||
|
@ -47,8 +47,8 @@ def get_account_query() -> list[Account]:
|
|||||||
Account.title_l10n.contains(k),
|
Account.title_l10n.contains(k),
|
||||||
code.contains(k),
|
code.contains(k),
|
||||||
Account.id.in_(l10n_matches)]
|
Account.id.in_(l10n_matches)]
|
||||||
if k in gettext("Offset needed"):
|
if k in gettext("Pay-off needed"):
|
||||||
sub_conditions.append(Account.is_offset_needed)
|
sub_conditions.append(Account.is_pay_off_needed)
|
||||||
conditions.append(sa.or_(*sub_conditions))
|
conditions.append(sa.or_(*sub_conditions))
|
||||||
|
|
||||||
return Account.query.filter(*conditions)\
|
return Account.query.filter(*conditions)\
|
||||||
|
@ -109,8 +109,8 @@ class Account(db.Model):
|
|||||||
"""The account number under the base account."""
|
"""The account number under the base account."""
|
||||||
title_l10n = db.Column("title", db.String, nullable=False)
|
title_l10n = db.Column("title", db.String, nullable=False)
|
||||||
"""The title."""
|
"""The title."""
|
||||||
is_offset_needed = db.Column(db.Boolean, nullable=False, default=False)
|
is_pay_off_needed = db.Column(db.Boolean, nullable=False, default=False)
|
||||||
"""Whether the entries of this account need offsets."""
|
"""Whether the entries of this account need pay-off."""
|
||||||
created_at = db.Column(db.DateTime(timezone=True), nullable=False,
|
created_at = db.Column(db.DateTime(timezone=True), nullable=False,
|
||||||
server_default=db.func.now())
|
server_default=db.func.now())
|
||||||
"""The time of creation."""
|
"""The time of creation."""
|
||||||
|
@ -85,9 +85,9 @@ First written: 2023/1/31
|
|||||||
<div class="accounting-card col-sm-6">
|
<div class="accounting-card col-sm-6">
|
||||||
<div class="accounting-card-title">{{ obj.title }}</div>
|
<div class="accounting-card-title">{{ obj.title }}</div>
|
||||||
<div class="accounting-card-code">{{ obj.code }}</div>
|
<div class="accounting-card-code">{{ obj.code }}</div>
|
||||||
{% if obj.is_offset_needed %}
|
{% if obj.is_pay_off_needed %}
|
||||||
<div>
|
<div>
|
||||||
<span class="badge rounded-pill bg-info">{{ A_("Offset needed") }}</span>
|
<span class="badge rounded-pill bg-info">{{ A_("Pay-off needed") }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="small text-secondary fst-italic">
|
<div class="small text-secondary fst-italic">
|
||||||
|
@ -63,9 +63,9 @@ First written: 2023/2/1
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-check form-switch mb-3">
|
<div class="form-check form-switch mb-3">
|
||||||
<input id="accounting-is-offset-needed" class="form-check-input" type="checkbox" name="is_offset_needed" value="1" {% if form.is_offset_needed.data %} checked="checked" {% endif %}>
|
<input id="accounting-is-pay-off-needed" class="form-check-input" type="checkbox" name="is_pay_off_needed" value="1" {% if form.is_pay_off_needed.data %} checked="checked" {% endif %}>
|
||||||
<label class="form-check-label" for="accounting-is-offset-needed">
|
<label class="form-check-label" for="accounting-is-pay-off-needed">
|
||||||
{{ A_("The entries in the account need offsets.") }}
|
{{ A_("The entries in the account need pay-off.") }}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -58,8 +58,8 @@ First written: 2023/1/30
|
|||||||
{% for item in list %}
|
{% for item in list %}
|
||||||
<a class="list-group-item list-group-item-action" href="{{ url_for("accounting.account.detail", account=item)|accounting_append_next }}">
|
<a class="list-group-item list-group-item-action" href="{{ url_for("accounting.account.detail", account=item)|accounting_append_next }}">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
{% if item.is_offset_needed %}
|
{% if item.is_pay_off_needed %}
|
||||||
<span class="badge rounded-pill bg-info">{{ A_("Offset needed") }}</span>
|
<span class="badge rounded-pill bg-info">{{ A_("Pay-off needed") }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</a>
|
</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -39,7 +39,7 @@ msgstr "請填上標題。"
|
|||||||
#: src/accounting/account/query.py:50
|
#: src/accounting/account/query.py:50
|
||||||
#: src/accounting/templates/accounting/account/detail.html:90
|
#: src/accounting/templates/accounting/account/detail.html:90
|
||||||
#: src/accounting/templates/accounting/account/list.html:62
|
#: src/accounting/templates/accounting/account/list.html:62
|
||||||
msgid "Offset needed"
|
msgid "Pay-off needed"
|
||||||
msgstr "逐筆核銷"
|
msgstr "逐筆核銷"
|
||||||
|
|
||||||
#: src/accounting/account/views.py:88
|
#: src/accounting/account/views.py:88
|
||||||
@ -226,7 +226,7 @@ msgid "Title"
|
|||||||
msgstr "標題"
|
msgstr "標題"
|
||||||
|
|
||||||
#: src/accounting/templates/accounting/account/include/form.html:68
|
#: src/accounting/templates/accounting/account/include/form.html:68
|
||||||
msgid "The entries in the account need offsets."
|
msgid "The entries in the account need pay-off."
|
||||||
msgstr "帳目要逐筆核銷。"
|
msgstr "帳目要逐筆核銷。"
|
||||||
|
|
||||||
#: src/accounting/templates/accounting/account/include/form.html:90
|
#: src/accounting/templates/accounting/account/include/form.html:90
|
||||||
|
Loading…
Reference in New Issue
Block a user