Added the all_errors pseudo property to the RecurringItemForm form, and applied it to the form-recurring-item.html template.

This commit is contained in:
2023-03-22 19:36:41 +08:00
parent 44ac53f15c
commit 8f477dd6f1
2 changed files with 15 additions and 2 deletions

View File

@ -20,6 +20,7 @@
import re
from flask import render_template
from flask_babel import LazyString
from flask_wtf import FlaskForm
from wtforms import StringField, FieldList, FormField, IntegerField
from wtforms.validators import DataRequired, ValidationError
@ -119,6 +120,18 @@ class RecurringItemForm(FlaskForm):
account: Account | None = Account.find_by_code(self.account_code.data)
return None if account is None else str(account)
@property
def all_errors(self) -> list[str | LazyString]:
"""Returns all the errors of the form.
:return: All the errors of the form.
"""
all_errors: list[str | LazyString] = []
for key in self.errors:
if key != "csrf_token":
all_errors.extend(self.errors[key])
return all_errors
class RecurringExpenseForm(RecurringItemForm):
"""The sub-form to add or update the recurring expenses."""