Regrouper la vue zones par type d équipement
Some checks failed
CI - Tests et Syntax / lint-and-test (push) Has been cancelled

This commit is contained in:
root 2026-08-17 10:38:52 +00:00
parent d5db9e15d5
commit d3db930cf4

View file

@ -83,9 +83,13 @@ def index():
b = grouped.setdefault(building.id, {'name': building.name, 'zones': {}})
z = b['zones'].setdefault(zone.id if zone else 0, {'name': zone.name if zone else 'Sans zone', 'rooms': {}})
r = z['rooms'].setdefault(room.id, {'name': room.name, 'types': {}})
key = eq.effective_category_id or f'name:{eq.name.lower().split(" #")[0]}'
# La vue doit distinguer les types réellement inventoriés
# (Chaises, Prises, Portes…), et non seulement les grandes
# catégories métier (Mobilier, Courants forts…).
type_name = (eq.name or '').split(' #')[0].strip() or 'Sans nom'
key = type_name.casefold()
effective_category = eq.effective_category
display_name = effective_category.name if effective_category else eq.name.split(' #')[0]
display_name = type_name
item = r['types'].setdefault(key, {'name': display_name, 'category': effective_category.name if effective_category else '', 'quantity': 0, 'ids': []})
item['quantity'] += eq.quantity or 1
item['ids'].append(eq.id)