Regrouper la vue zones par type d équipement
Some checks failed
CI - Tests et Syntax / lint-and-test (push) Has been cancelled
Some checks failed
CI - Tests et Syntax / lint-and-test (push) Has been cancelled
This commit is contained in:
parent
d5db9e15d5
commit
d3db930cf4
1 changed files with 6 additions and 2 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue