Мастер настройки: после создания администратора — сразу в мастер; 7 шагов (лицензия, база bj, учёт DEPO, Валидата, сертификаты, шлюз НРД, проверка) с пояснениями что/зачем/где взять, каждый можно пропустить; исправлено имя поля URL ИШ

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-09-24 14:23:12 +03:00
parent 2350fdf5aa
commit ea87958f43
3 changed files with 103 additions and 38 deletions
+20 -6
View File
@@ -166,9 +166,14 @@ type WizardData struct {
Step int
Settings Settings
Suggest *DepoRequisites // предложение реквизитов из DEPO (после «Определить из DEPO»)
Lic LicenseStatus
DepoLicensed bool
DepoDB string
Certs []cryptocli.Certificate
Flash string
Done struct {
License bool
Depo bool
Postgres bool
Crypto bool
Certs bool
@@ -193,6 +198,11 @@ func (h *setupHandlers) renderWizard(w http.ResponseWriter, r *http.Request) {
Certs: h.listCertsForUI(),
Flash: r.URL.Query().Get("flash"),
}
d.Lic = licenseStatus(h.rc)
d.Done.License = d.Lic.Valid
d.DepoLicensed = moduleAllowed(h.rc, "quik-mnp")
d.DepoDB = s.Fancy.DepoDB()
d.Done.Depo = strings.TrimSpace(s.Fancy.Server) != "" || !d.DepoLicensed
d.Done.Postgres = s.Postgres.DSN != ""
d.Done.Crypto = s.Crypto.Provider != "" && s.Crypto.Provider != "stub" && s.Crypto.ModulePath != ""
d.Done.Certs = len(d.Certs) > 0
@@ -202,22 +212,26 @@ func (h *setupHandlers) renderWizard(w http.ResponseWriter, r *http.Request) {
// Определяем текущий шаг.
step := 1
if v := r.URL.Query().Get("step"); v != "" {
if n, err := strconv.Atoi(v); err == nil && n >= 1 && n <= 5 {
if n, err := strconv.Atoi(v); err == nil && n >= 1 && n <= 7 {
step = n
}
} else {
// Авто: первый незавершённый.
switch {
case !d.Done.Postgres:
case !d.Done.License:
step = 1
case !d.Done.Crypto:
case !d.Done.Postgres:
step = 2
case !d.Done.Certs:
case !d.Done.Depo:
step = 3
case !d.Done.NSD:
case !d.Done.Crypto:
step = 4
default:
case !d.Done.Certs:
step = 5
case !d.Done.NSD:
step = 6
default:
step = 7
}
}
d.Step = step