Added the is_check_as parameter to the get_txn_op function so that the "as" query parameter is not checked when showing the transaction detail.
This commit is contained in:
parent
be46d8aa14
commit
3fa8818a27
@ -304,15 +304,17 @@ TXN_TYPE_TO_OP: dict[TransactionType, TransactionOperator] \
|
|||||||
"""The map from the transaction types to their operators."""
|
"""The map from the transaction types to their operators."""
|
||||||
|
|
||||||
|
|
||||||
def get_txn_op(txn: Transaction) -> TransactionOperator:
|
def get_txn_op(txn: Transaction, is_check_as: bool = False) \
|
||||||
|
-> TransactionOperator:
|
||||||
"""Returns the transaction operator that may be specified in the "as" query
|
"""Returns the transaction operator that may be specified in the "as" query
|
||||||
parameter. If it is not specified, check the transaction type from the
|
parameter. If it is not specified, check the transaction type from the
|
||||||
transaction.
|
transaction.
|
||||||
|
|
||||||
:param txn: The transaction.
|
:param txn: The transaction.
|
||||||
|
:param is_check_as: True to check the "as" parameter, or False otherwise.
|
||||||
:return: None.
|
:return: None.
|
||||||
"""
|
"""
|
||||||
if "as" in request.args:
|
if is_check_as and "as" in request.args:
|
||||||
type_dict: dict[str, TransactionType] \
|
type_dict: dict[str, TransactionType] \
|
||||||
= {x.value: x for x in TransactionType}
|
= {x.value: x for x in TransactionType}
|
||||||
if request.args["as"] not in type_dict:
|
if request.args["as"] not in type_dict:
|
||||||
|
@ -111,7 +111,7 @@ def show_transaction_edit_form(txn: Transaction) -> str:
|
|||||||
:param txn: The transaction.
|
:param txn: The transaction.
|
||||||
:return: The form to edit the transaction.
|
:return: The form to edit the transaction.
|
||||||
"""
|
"""
|
||||||
txn_op: TransactionOperator = get_txn_op(txn)
|
txn_op: TransactionOperator = get_txn_op(txn, is_check_as=True)
|
||||||
form: txn_op.form
|
form: txn_op.form
|
||||||
if "form" in session:
|
if "form" in session:
|
||||||
form = txn_op.form(ImmutableMultiDict(parse_qsl(session["form"])))
|
form = txn_op.form(ImmutableMultiDict(parse_qsl(session["form"])))
|
||||||
@ -131,7 +131,7 @@ def update_transaction(txn: Transaction) -> redirect:
|
|||||||
:return: The redirection to the transaction detail on success, or the
|
:return: The redirection to the transaction detail on success, or the
|
||||||
transaction edit form on error.
|
transaction edit form on error.
|
||||||
"""
|
"""
|
||||||
txn_op: TransactionOperator = get_txn_op(txn)
|
txn_op: TransactionOperator = get_txn_op(txn, is_check_as=True)
|
||||||
form: txn_op.form = txn_op.form(request.form)
|
form: txn_op.form = txn_op.form(request.form)
|
||||||
if not form.validate():
|
if not form.validate():
|
||||||
flash_form_errors(form)
|
flash_form_errors(form)
|
||||||
|
Loading…
Reference in New Issue
Block a user