ИШ ждёт флешку с ключом — bj это видит и перезапускает шлюз сам; итог установки ключа; список копий; скрытые блоки

- ИШ без флешки ждёт её в окне Валидаты («Вставьте ключевой носитель»): статус «ждёт флешку», без кнопки
  переустановки; сторож не тратит перезапуски, а когда флешка появилась — перезапускает ИШ сам; письмо
- шаг ключа: итог — карточка «Ключ подключён», «Заменить ключ» вместо «Установить ещё один», этапы свёрнуты
- копии: «Копии на хранилище» ищет там же, куда ложится копия (подпапка по умолчанию bj-backup, не из старых
  настроек); поля показываются разобранными
- [hidden] прячет всегда (пустая полоска под версией ИШ); «Шлюз НРД на другом сервере?» — что это за адрес

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-10-07 00:11:48 +03:00
parent 5abf71e3ed
commit c62225dd7d
10 changed files with 86 additions and 21 deletions
+13 -3
View File
@@ -86,6 +86,16 @@ func smbWin(share string) string {
return strings.ReplaceAll(share, "/", `\`)
}
// smbView — адрес хранилища для формы: сетевая папка как в проводнике и подпапка (сохранённые прежними
// версиями «\\сервер\» + «папка» показываются уже разобранными).
func smbView(share, dir string) map[string]string {
sh, d := smbLocation(share, dir)
if sh == "" {
return map[string]string{"Share": share, "Dir": dir}
}
return map[string]string{"Share": smbWin(sh), "Dir": pickStr(d, "bj-backup")}
}
// smbShareOK — в адресе есть и сервер, и общая папка.
func smbShareOK(share string) bool { return strings.Count(strings.TrimPrefix(share, "//"), "/") == 1 }
@@ -129,10 +139,10 @@ func backupParams(r *http.Request) map[string]string {
}
}
if p["share"] != "" { // адрес как в проводнике → общая папка и путь внутри неё
// подпапка не указана — та же, что у копий по умолчанию (bj-backup): иначе root подставлял папку из
// прежних настроек и «Копии на хранилище» искала не там, куда легла копия
p["share"], p["dir"] = smbLocation(p["share"], p["dir"])
if p["dir"] == "" {
delete(p, "dir")
}
p["dir"] = pickStr(p["dir"], "bj-backup")
}
return p
}