From efe937fe0d4250a3f120b29e6bd89543b30b8781 Mon Sep 17 00:00:00 2001 From: DokoGen Date: Mon, 3 Aug 2026 15:10:50 +0400 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=B2=D1=82=D0=BE=D1=80=D0=BE=D0=B9=20?= =?UTF-8?q?=D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9=20=D1=86?= =?UTF-8?q?=D0=B8=D0=BA=D0=BB=20users=5Floop=5Fall=20(=D0=B2=D1=81=D0=B5?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8=20=D1=81=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD=D0=BE?= =?UTF-8?q?=D0=BC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - users_loop — пользователи БЕЗ администратора (для таблицы доступа, где админ отдельной строкой) - users_loop_all — ВСЕ пользователи включая администратора (для других документов, где нужен полный список) --- dokogen/variables.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dokogen/variables.py b/dokogen/variables.py index 1c967f9..47c5bbe 100644 --- a/dokogen/variables.py +++ b/dokogen/variables.py @@ -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_norm = _norm_name(admin_fio) for isys in is_list: - # Пользователи ИС для вложенного цикла - # (без администратора, чтобы он не дублировался) + # Пользователи ИС для вложенного цикла + # БЕЗ администратора (чтобы он не дублировался в таблице доступа, + # где админ уже выведен отдельной строкой) users_loop = [] for u in (isys.users_list or []): if admin_norm and _norm_name(u) == admin_norm: continue users_loop.append({'fio': u, 'position': ''}) + # ВСЕ пользователи (включая администратора) — для других документов, + # где нужен полный список: + users_loop_all = [{'fio': u, 'position': ''} for u in (isys.users_list or [])] items.append({ 'name': isys.name 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 '—'), 'users': ', '.join(isys.users_list or []) or '—', 'users_loop': users_loop, + 'users_loop_all': users_loop_all, 'defense_tools_list': ', '.join(isys.defense_tools_list or []) or '—', 'processing_modes': isys.processing_modes or '—', 'pd_subjects': '; '.join(isys.pd_subjects_list or []) or '—',