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

View File

@@ -334,7 +334,7 @@ grunderfassung_unternehmen: sql.Table = Table(
Column("Stammdaten__email", sql.Text, nullable=True), Column("Stammdaten__email", sql.Text, nullable=True),
Column("Stammdaten__familienstand", sql.Text, nullable=True), Column("Stammdaten__familienstand", sql.Text, nullable=True),
Column("Stammdaten__festnetznummer", sql.Text, nullable=True), Column("Stammdaten__festnetznummer", sql.Text, nullable=True),
Column("Stammdaten__geburtsdatum", sql.Text, nullable=True), Column("Stammdaten__geburtsdatum", sql.Date, nullable=True),
Column("Stammdaten__hausnummer", sql.Text, nullable=True), Column("Stammdaten__hausnummer", sql.Text, nullable=True),
Column("Stammdaten__herkunftsland", sql.Text, nullable=True), Column("Stammdaten__herkunftsland", sql.Text, nullable=True),
Column("Stammdaten__mobilfunknummer", sql.Text, nullable=True), Column("Stammdaten__mobilfunknummer", sql.Text, nullable=True),
@@ -348,6 +348,6 @@ grunderfassung_unternehmen: sql.Table = Table(
Column("WeitereInfos__WI_arbeitsstatus", sql.Text, nullable=True), Column("WeitereInfos__WI_arbeitsstatus", sql.Text, nullable=True),
Column("WeitereInfos__WI_aufenthaltstitel", sql.Text, nullable=True), Column("WeitereInfos__WI_aufenthaltstitel", sql.Text, nullable=True),
Column("WeitereInfos__WI_deutsch_sprache", sql.Text, nullable=True), Column("WeitereInfos__WI_deutsch_sprache", sql.Text, nullable=True),
Column("WeitereInfos__WI_gueltigkeit_aufenthaltstitel", sql.Text, nullable=True), Column("WeitereInfos__WI_gueltigkeit_aufenthaltstitel", sql.Date, nullable=True),
Column("WeitereInfos__WI_meldung_institution", sql.Text, nullable=True), Column("WeitereInfos__WI_meldung_institution", sql.Text, nullable=True),
) )