Dev #7

Merged
foefl merged 74 commits from dev into main 2026-07-31 14:19:01 +00:00
2 changed files with 17 additions and 9 deletions
Showing only changes of commit 2894d3a1a9 - Show all commits
+4 -4
View File
@@ -434,7 +434,7 @@ _INITREC_MASTER_DATA = [
), ),
FormField( FormField(
"Geburtsdatum", "Geburtsdatum",
FormFieldType.DATE, FormFieldType.DATE_FLEXIBLE,
key="geburtsdatum", key="geburtsdatum",
required=False, required=False,
), ),
@@ -588,7 +588,7 @@ _INITREC_ADDITIONAL_DATA = [
), ),
FormField( FormField(
"Gültigkeit Aufenthaltsstatus", "Gültigkeit Aufenthaltsstatus",
FormFieldType.DATE, FormFieldType.DATE_FLEXIBLE,
required=False, required=False,
key="WI_gueltigkeit_aufenthaltstitel", key="WI_gueltigkeit_aufenthaltstitel",
), ),
@@ -858,7 +858,7 @@ _INITREC_LANGUAGES = [
), ),
FormField( FormField(
"Datum des Nachweises", "Datum des Nachweises",
FormFieldType.DATE, FormFieldType.DATE_FLEXIBLE,
required=False, required=False,
key="SP_datum_nachweis", key="SP_datum_nachweis",
), ),
@@ -906,7 +906,7 @@ INITREC_METADATEN = [
), ),
FormField( FormField(
"Wiedereintrittsdatum", "Wiedereintrittsdatum",
FormFieldType.DATE, FormFieldType.DATE_FLEXIBLE,
required=False, required=False,
key="Metadaten_wiedereintrittsdatum", key="Metadaten_wiedereintrittsdatum",
readonly=False, readonly=False,
+13 -5
View File
@@ -862,13 +862,13 @@ def set_widget_value(
raise ValueError(f"Could not parse date field value >{value}<") raise ValueError(f"Could not parse date field value >{value}<")
widget.setDate(set_date) widget.setDate(set_date)
elif isinstance(widget, FlexibleDateInput): elif isinstance(widget, FlexibleDateInput):
assert isinstance(value, datetime.datetime) assert isinstance(value, (datetime.datetime, datetime.date)) or value is None
try: try:
widget.set_pydate(value, raise_error=True) widget.set_pydate(value, raise_error=True)
except ValueError: except ValueError:
raise ValueError(f"Could not parse date field value >{value}<") raise ValueError(f"Could not parse date field value >{value}<")
elif isinstance(widget, FlexibleDateTimeInput): elif isinstance(widget, FlexibleDateTimeInput):
assert isinstance(value, datetime.datetime) assert isinstance(value, datetime.datetime) or value is None
try: try:
widget.set_pydatetime(value, raise_error=True) widget.set_pydatetime(value, raise_error=True)
except ValueError: except ValueError:
@@ -2005,9 +2005,13 @@ class FlexibleDateInput(QWidget):
def set_pydate( def set_pydate(
self, self,
date: datetime.datetime, date: datetime.datetime | datetime.date | None,
raise_error: bool = False, raise_error: bool = False,
) -> None: ) -> None:
if date is None:
self.reset()
return
date_to_set = QDate(date.year, date.month, date.day) date_to_set = QDate(date.year, date.month, date.day)
if raise_error and not date_to_set.isValid(): if raise_error and not date_to_set.isValid():
raise ValueError("Could not parse date object correctly") raise ValueError("Could not parse date object correctly")
@@ -2224,9 +2228,13 @@ class FlexibleDateTimeInput(QWidget):
def set_pydatetime( def set_pydatetime(
self, self,
dt: datetime.datetime, dt: datetime.datetime | None,
raise_error: bool = False, raise_error: bool = False,
) -> None: ) -> None:
if dt is None:
self.reset()
return
dt_to_set = QDateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0) dt_to_set = QDateTime(dt.year, dt.month, dt.day, dt.hour, dt.minute, 0)
if raise_error and not dt_to_set.isValid(): if raise_error and not dt_to_set.isValid():
raise ValueError("Could not parse datetime object correctly") raise ValueError("Could not parse datetime object correctly")
@@ -3277,7 +3285,7 @@ class Page_InitRec(QWidget):
print(f">>>> {pformat(search_res)}") print(f">>>> {pformat(search_res)}")
assert len(search_res) == 1 assert len(search_res) == 1
field_wiedereintrittsdatum = search_res[0]["widget"] field_wiedereintrittsdatum = search_res[0]["widget"]
assert isinstance(field_wiedereintrittsdatum, QDateEdit) assert isinstance(field_wiedereintrittsdatum, FlexibleDateInput)
self.field_wiedereintrittsdatum = field_wiedereintrittsdatum self.field_wiedereintrittsdatum = field_wiedereintrittsdatum
# ** person # ** person