feat: второй вложенный цикл users_loop_all (все пользователи с админом)
- users_loop — пользователи БЕЗ администратора (для таблицы доступа, где админ отдельной строкой) - users_loop_all — ВСЕ пользователи включая администратора (для других документов, где нужен полный список)
This commit is contained in:
@@ -278,13 +278,17 @@ def _build_loop_data(company: Company, is_list: List) -> Dict[str, List[Dict]]:
|
|||||||
admin_fio = (getattr(company, 'ispdn_fio', '') or '').strip()
|
admin_fio = (getattr(company, 'ispdn_fio', '') or '').strip()
|
||||||
admin_norm = _norm_name(admin_fio)
|
admin_norm = _norm_name(admin_fio)
|
||||||
for isys in is_list:
|
for isys in is_list:
|
||||||
# Пользователи ИС для вложенного цикла <!-- loop:item_users -->
|
# Пользователи ИС для вложенного цикла <!-- loop:users_loop -->
|
||||||
# (без администратора, чтобы он не дублировался)
|
# БЕЗ администратора (чтобы он не дублировался в таблице доступа,
|
||||||
|
# где админ уже выведен отдельной строкой)
|
||||||
users_loop = []
|
users_loop = []
|
||||||
for u in (isys.users_list or []):
|
for u in (isys.users_list or []):
|
||||||
if admin_norm and _norm_name(u) == admin_norm:
|
if admin_norm and _norm_name(u) == admin_norm:
|
||||||
continue
|
continue
|
||||||
users_loop.append({'fio': u, 'position': ''})
|
users_loop.append({'fio': u, 'position': ''})
|
||||||
|
# ВСЕ пользователи (включая администратора) — для других документов,
|
||||||
|
# где нужен полный список: <!-- loop:users_loop_all -->
|
||||||
|
users_loop_all = [{'fio': u, 'position': ''} for u in (isys.users_list or [])]
|
||||||
items.append({
|
items.append({
|
||||||
'name': isys.name or '—',
|
'name': isys.name or '—',
|
||||||
'description': isys.description or '—',
|
'description': isys.description or '—',
|
||||||
@@ -298,6 +302,7 @@ def _build_loop_data(company: Company, is_list: List) -> Dict[str, List[Dict]]:
|
|||||||
'pd_count': str(isys.pd_count or '—'),
|
'pd_count': str(isys.pd_count or '—'),
|
||||||
'users': ', '.join(isys.users_list or []) or '—',
|
'users': ', '.join(isys.users_list or []) or '—',
|
||||||
'users_loop': users_loop,
|
'users_loop': users_loop,
|
||||||
|
'users_loop_all': users_loop_all,
|
||||||
'defense_tools_list': ', '.join(isys.defense_tools_list or []) or '—',
|
'defense_tools_list': ', '.join(isys.defense_tools_list or []) or '—',
|
||||||
'processing_modes': isys.processing_modes or '—',
|
'processing_modes': isys.processing_modes or '—',
|
||||||
'pd_subjects': '; '.join(isys.pd_subjects_list or []) or '—',
|
'pd_subjects': '; '.join(isys.pd_subjects_list or []) or '—',
|
||||||
|
|||||||
Reference in New Issue
Block a user