Refactor entity synchronization logic in Area, Brand, Item, RoomFunction, and Room models; improve ID handling and streamline foreign key resolution in settings
This commit is contained in:
parent
7833c4828b
commit
543494120c
9 changed files with 170 additions and 96 deletions
19
routes.py
19
routes.py
|
@ -424,18 +424,23 @@ def settings():
|
|||
room = dict(room) # shallow copy
|
||||
sid = room.get("section_id")
|
||||
fid = room.get("function_id")
|
||||
if sid in section_map:
|
||||
room["section_id"] = section_map[sid]
|
||||
if fid in function_map:
|
||||
room["function_id"] = function_map[fid]
|
||||
|
||||
if sid is not None:
|
||||
sid_key = str(sid)
|
||||
if sid_key in section_map:
|
||||
room["section_id"] = section_map[sid_key]
|
||||
|
||||
if fid is not None:
|
||||
fid_key = str(fid)
|
||||
if fid_key in function_map:
|
||||
room["function_id"] = function_map[fid_key]
|
||||
|
||||
submitted_rooms.append(room)
|
||||
|
||||
Room.sync_from_state(
|
||||
submitted_rooms=submitted_rooms,
|
||||
section_map=section_map,
|
||||
function_map=function_map,
|
||||
section_fallbacks=[{"id": v, "name": k} for k, v in section_map.items()],
|
||||
function_fallbacks=[{"id": v, "name": k} for k, v in function_map.items()]
|
||||
function_map=function_map
|
||||
)
|
||||
|
||||
print("✅ COMMIT executed.")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue