generated from dopt-python/py311
option to ignore form fields when retrieving data
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -334,7 +334,7 @@ grunderfassung_unternehmen: sql.Table = Table(
|
||||
Column("Stammdaten__email", sql.Text, nullable=True),
|
||||
Column("Stammdaten__familienstand", 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__herkunftsland", 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_aufenthaltstitel", 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),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user