added deletion for consulting with GUI logic

This commit is contained in:
2026-07-21 11:00:46 +02:00
parent 0fce42b788
commit 482ae436eb
3 changed files with 151 additions and 22 deletions
+45 -3
View File
@@ -564,6 +564,48 @@ def page_consulting_to_db(
return consultation_data
@wrap_result(10)
def page_consulting_delete(
cons_id: ConsId,
) -> None:
timestamp_deleted = datetime.datetime.now(datetime.UTC)
dump_data: dict[str, Any] = {"geloescht": timestamp_deleted}
with db.ENGINE.begin() as conn:
stmt = db.beratung_vorgang.update().where(db.beratung_vorgang.c.vorgang_id == cons_id)
conn.execute(stmt, dump_data)
stmt = db.beratung_einzelberatung.update().where(
db.beratung_einzelberatung.c.vorgang_id == cons_id,
db.beratung_einzelberatung.c.geloescht.is_(None),
)
conn.execute(stmt, dump_data)
return
stmt = db.beratung_einzelberatung.select().where(
db.beratung_einzelberatung.c.vorgang_id == cons_id,
db.beratung_einzelberatung.c.geloescht.is_(None),
)
ret = conn.execute(stmt)
cons_sessions = ret.mappings().all()
# empty results possible
if not cons_sessions:
logger.debug("[Consulting Page] No sessions, return directly...")
return
rows_for_db_update: list[dict[str, Any]] = []
for row_data in cons_sessions:
row_data_dump = copy.deepcopy(dump_data)
row_data_dump["b_beratung_id"] = row_data["beratung_id"]
rows_for_db_update.append(row_data_dump)
if rows_for_db_update:
stmt = db.beratung_einzelberatung.update().where(
db.beratung_einzelberatung.c.beratung_id == sql.bindparam("b_beratung_id")
)
conn.execute(stmt, rows_for_db_update)
@wrap_result(11)
def page_consulting_from_db(
cons_id: ConsId,
@@ -611,12 +653,12 @@ def page_consulting_from_db(
db.beratung_einzelberatung.c.geloescht.is_(None),
)
ret = conn.execute(stmt)
cons_sessions = ret.mappings().all()
# empty results possible
if ret.rowcount == 0:
if not cons_sessions:
logger.debug("[Consulting Page] No sessions, return directly...")
return consultation_data
cons_sessions = ret.mappings()
for session in cons_sessions:
cons_session_pydantic = Beratungsgespraech_Einzelgespraech(
beratung_id=session["beratung_id"],
@@ -649,7 +691,7 @@ def companyprofile_page_get_consultations(
db.beratung_vorgang.c.aktualisiert,
db.beratung_vorgang.c.titel,
db.beratung_vorgang.c.beratungs_typ,
).where(db.beratung_vorgang.c.un_id == un_id)
).where(db.beratung_vorgang.c.un_id == un_id, db.beratung_vorgang.c.geloescht.is_(None))
with db.ENGINE.connect() as conn:
res = conn.execute(stmt)