Dev #7

Merged
foefl merged 74 commits from dev into main 2026-07-31 14:19:01 +00:00
2 changed files with 32 additions and 17 deletions
Showing only changes of commit c1843702f8 - Show all commits
+18 -1
View File
@@ -695,6 +695,23 @@ def page_consulting_linking_persons(
return linking_entries return linking_entries
# TODO wrap result
def page_consulting_eastablish_link(
vorgang_id: ConsId,
un_id: RecId | None,
pers_id: RecId | None,
) -> None:
stmt = (
sa.update(db.beratung_vorgang)
.where(db.beratung_vorgang.c.vorgang_id == vorgang_id)
.values(un_id=un_id, pers_id=pers_id)
)
with db.ENGINE.begin() as conn:
conn.execute(stmt)
def companyprofile_page_get_consultations( def companyprofile_page_get_consultations(
un_id: RecId, un_id: RecId,
) -> CompanyProfileConsultations: ) -> CompanyProfileConsultations:
@@ -748,7 +765,7 @@ def companyprofile_page_get_consultations(
# // initial recording interaction # // initial recording interaction
@wrap_result(10) # TODO wrap result
def initrec_link_person_company( def initrec_link_person_company(
un_id: RecId, un_id: RecId,
pers_id: RecId, pers_id: RecId,
+14 -16
View File
@@ -4317,34 +4317,32 @@ class Page_Consulting(QWidget):
) )
dialog = Page_Consulting_LinkingDialog(dialog_state, parent=self) dialog = Page_Consulting_LinkingDialog(dialog_state, parent=self)
# .exec() öffnet das Fenster modal (blockiert das Hauptfenster) # .exec() blocks main window
if dialog.exec() == QDialog.DialogCode.Accepted: if dialog.exec() == QDialog.DialogCode.Accepted:
# Hier hast du am Ende beide (oder nur eine) Entitäten auswertbar vorliegen: # Hier hast du am Ende beide (oder nur eine) Entitäten auswertbar vorliegen:
state = dialog.get_state() dialog_state = dialog.get_state()
un_id = state.un_id self.STATE.un_id = dialog_state.un_id
pers_id = state.pers_id self.STATE.pers_id = dialog_state.pers_id
# TODO add infos to DB table "Beratung_Vorgang"
assert self.STATE.vorgang_id is not None, ( assert self.STATE.vorgang_id is not None, (
"cannot link consulting process which is not already saved" "cannot link consulting process which is not already saved"
) )
# TODO error handling
# firma = dialog.gewaehltes_unternehmen backend.page_consulting_eastablish_link(
# person = dialog.gewaehlte_person vorgang_id=self.STATE.vorgang_id,
un_id=self.STATE.un_id,
# comp_name = firma["name"] if firma else "Keine" pers_id=self.STATE.pers_id,
# person_name = person["name"] if person else "Keine" )
logger_page_consulting.info( logger_page_consulting.info(
"[Consulting Page] Company selected (ID): %s, Person selected (ID): %s", "[Consulting Page] Company selected (ID): %s, Person selected (ID): %s",
un_id, self.STATE.un_id,
pers_id, self.STATE.pers_id,
) )
# 1. TODO: Datenbank-Update ausführen (Fremdschlüssel setzen)
# 2. Banner ausblenden: self.banner.hide()
else: else:
logger_page_consulting.info("[Consulting Page] Verknüpfung abgebrochen.") logger_page_consulting.info("[Consulting Page] Verknüpfung abgebrochen.")
self._sync_state_to_GUI("banners")
def _clear_info_banners(self) -> None: def _clear_info_banners(self) -> None:
while self.info_banners: while self.info_banners:
banner = self.info_banners[0] banner = self.info_banners[0]