- <!-- loop:users_loop --> внутри цикла ИС: {{user_fio}}, {{user_position}}
- администратор НЕ исключается (как просил Костя), убираются только
дубли по ФИО (нормализованное сравнение)
- раньше переменная читала отдельное поле category (пустое при
работе с галочками) → в документ вставлялось «—»
- теперь: ', '.join(personal_data_category) — галочки «иные»,
«специальные» и т.д. попадают в документ
- {{security_department}} — наименование структурного подразделения
по безопасности (из поля 'структурное подразделение')
- {{item.pd_actions}} — действия с ПДн в цикле ИС
- {{item.structure}} — структура ИС импортируется из листов ИС
- КПП уже импортировался ({{company_kpp}})
- UI: применение подразделения, структуры и действий при импорте
- {{item.fio_initials}} (И.О. Фамилия) и {{item.fio_short}} (Фамилия И.О.)
для комиссии
- {{item.software}} (ПО) для ИС + поле «ПО» в интерфейсе
- модель: поле software у InformationSystem
- models.py: поле structure у InformationSystem
- variables.py: {{item.structure}} / {{structure}} в цикле,
{{is_structure_N}} в индексированных
- ui.py: поле «Структура ИС» на вкладке ИС
- Председатель/Секретарь/Заместитель — своей ролью
- Первый обычный член получает «Члены комиссии», остальные — пустая роль
- Пустая строка в цикле больше не превращается в «—»
Проверено: 1 председатель + 4 члена в шаблоне «6. Акт...»
- _normalize_loop_markers: склейка текста параграфа в один run перед
поиском <!-- loop:... --> и {{item.*}}, иначе циклы не разворачивались
(шаблон '6. Акт определения уровня защищенности ПДн.docx')
- variables.py: поле address в цикле information_systems