diff --git a/app_new/equipments/main.py b/app_new/equipments/main.py index 989f5c8..94a00be 100644 --- a/app_new/equipments/main.py +++ b/app_new/equipments/main.py @@ -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)