diff --git a/prototypes/t_qt_2.py b/prototypes/t_qt_2.py index 8ab8a0f..05afe5e 100644 --- a/prototypes/t_qt_2.py +++ b/prototypes/t_qt_2.py @@ -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", diff --git a/src/wce_crm/db.py b/src/wce_crm/db.py index 14e9e3e..46e5efa 100644 --- a/src/wce_crm/db.py +++ b/src/wce_crm/db.py @@ -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), )