орг. меры: словарик заменён на текст заказчика (15 пунктов), автогенерация с учётом ответов по физической безопасности из опросника (да/нет), импорт ответов в модель
This commit is contained in:
@@ -174,6 +174,21 @@ def import_187fz(filepath: str, log_fn: Optional[Callable] = None, settings_path
|
||||
finally:
|
||||
wb.close()
|
||||
|
||||
# Ответы раздела «Физическая безопасность» (да/нет) — собираем в словарь,
|
||||
# чтобы текст организационных мер генерировался с учётом реальных средств.
|
||||
ps_keys = [
|
||||
'physicalGuard', 'physicalFireAlarm', 'physicalPanicButton',
|
||||
'physicalBars', 'physicalMetalDoors', 'physicalVideoSurveillance',
|
||||
'physicalVideoIntercom', 'physicalTurnstile', 'physicalVisitorLog',
|
||||
]
|
||||
ps = {}
|
||||
for k in ps_keys:
|
||||
v = str(data.get(k) or '').strip()
|
||||
if v:
|
||||
ps[k] = v
|
||||
if ps:
|
||||
data['physicalSecurity'] = ps
|
||||
|
||||
# Копирование полей ИСПДн в админа, если админ не заполнен
|
||||
for src, dst in [('ispdnFio', 'administratorFio'), ('ispdnFio', 'adminFio'),
|
||||
('ispdnPosition', 'administratorPosition'), ('ispdnPosition', 'adminPosition'),
|
||||
|
||||
Reference in New Issue
Block a user