generated from dopt-python/py311
added deletion for consulting with GUI logic
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user