option to ignore form fields when retrieving data

This commit is contained in:
2026-05-22 13:55:19 +02:00
parent fce3429f34
commit d468fe9058
2 changed files with 16 additions and 12 deletions

View File

@@ -416,6 +416,7 @@ class FormField:
info: str = ""
custom_widget: str = ""
init_label: str = dc.field(init=False)
ignore_get_data: bool = False
def __post_init__(
self,
@@ -914,14 +915,17 @@ def get_form_data(
continue
widget = registry_entry["widget"]
field_type = registry_entry["form_field"].type
form_field = registry_entry["form_field"]
if form_field.ignore_get_data:
continue
if isinstance(widget, QLineEdit):
data = widget.text()
if data != "":
value = data
if field_type is FormFieldType.TEXT_DATE:
if form_field.type is FormFieldType.TEXT_DATE:
value = datetime.datetime.strptime(value, DATE_FMT).date()
elif field_type is FormFieldType.TEXT_DATETIME:
elif form_field.type is FormFieldType.TEXT_DATETIME:
value = datetime.datetime.strptime(value, DATETIME_FMT)
elif isinstance(widget, QPlainTextEdit):
data = widget.toPlainText()
@@ -1097,10 +1101,9 @@ def validate_form_data(
class Grunderfassung_Unternehmen(FlatBaseModel):
Metadaten_erstellung: datetime.datetime | None = (
None # default in SQLAlchemy with lambda and timezone-aware datetime)
)
Metadaten_aktualisierung: datetime.datetime | None # see above
# default in SQLAlchemy with lambda and timezone-aware datetime)
Metadaten_erstellung: datetime.datetime | None = None
Metadaten_aktualisierung: datetime.datetime | None = None # see above
Metadaten_nutzer: str | None
Grunderfassung_fallnummer: str
Grunderfassung_notiz: str | None
@@ -1814,10 +1817,9 @@ class AutoForm(QWidget):
try:
validated_data = Grunderfassung_Unternehmen(**form_data)
validated_data.Metadaten_erstellung = datetime.datetime.now()
# # TODO remove
# validated_data.Metadaten_erstellung = datetime.datetime.now()
logger.debug("%s", pformat(validated_data.model_dump()))
# TODO check removal
# postprocess_pydantic(validated_data)
except ValidationError as e:
# catch errors and show them in GUI
fehler_texte = []
@@ -3117,6 +3119,7 @@ FORM_FIELDS = [
required=False,
key="Metadaten_erstellung",
readonly=True,
ignore_get_data=True,
),
FormField(
"Aktualisierung Datum",
@@ -3124,6 +3127,7 @@ FORM_FIELDS = [
required=False,
key="Metadaten_aktualisierung",
readonly=True,
ignore_get_data=True,
),
FormField(
"Aktualisierung Nutzer",