Учёт DEPO в мастере: поле базы, логин и пароль bj на экране, скрипт показывается на странице

База DEPO — видимое поле (необязательно: пусто — найдётся по учётным таблицам), порт заполнен
по умолчанию. «Отдать скрипт администратору»: логин и пароль bj видны и меняются, «Показать
скрипт» выводит его на странице с кнопкой «Скопировать». В начале скрипта — блок «Проверьте
перед запуском»: @db и @pass.

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-06 13:35:01 +03:00
parent 46cbebaff7
commit be83b86747
6 changed files with 155 additions and 35 deletions
+11
View File
@@ -175,6 +175,9 @@ type WizardData struct {
Fancy *SetupData // шаг 3: общий блок «Обмен Fancy» (тот же, что в настройках)
Sub string // экран шага 3 (учёт DEPO): intro|conn|tables|job|done
DepoCands []string // шаг 3: найдено несколько баз DEPO — выбор
DepoUser string // шаг 3, «скрипт администратору»: логин bj, который создаст скрипт
DepoPass string // и его пароль (сохранённый или придуманный сейчас — сохраняется со скриптом)
DepoMode string // выбранный способ подготовки базы: auto|script|existing
ValidataVer string // версия установленной «Валидаты Клиент L» (пусто — не установлена)
CryptoSvc string // состояние службы bj-crypto (systemctl is-active)
PGSummary string // куда подключена база bj, без пароля
@@ -322,6 +325,14 @@ func (h *setupHandlers) renderWizard(w http.ResponseWriter, r *http.Request) {
if step == 3 {
d.Sub = depoWizardSub(r.URL.Query().Get("sub"))
d.DepoCands = depoCands(r.URL.Query().Get("cands"))
d.DepoUser, d.DepoPass = depoSetupLogin(s.Fancy), s.Fancy.Password
if s.Fancy.User != d.DepoUser || d.DepoPass == "" {
d.DepoPass = depoGenPassword()
}
d.DepoMode = "auto"
if s.Fancy.DepoTablesMode == "script" {
d.DepoMode = "script"
}
if r.URL.Query().Get("sub") == "" && d.Done.Depo {
d.Sub = "done"
}