feat(admin): мастер настройки /admin/wizard + авто-подъём PostgreSQL одной кнопкой
Для пользователя без IT-навыков — пошаговая настройка (5 шагов) с прогресс-баром, подсказками «?» рядом с каждым полем и блоками «Что это?» / «Где взять?» в каждом шаге. Шаги: PostgreSQL → КриптоПро → Сертификаты → ИШ НРД → Тестовая заявка. Авто-определение текущего шага по первому незавершённому пункту, навигация Назад/Далее, мягкие пропуски (in-memory / mock-режимы). В шаге 1 — «⚡ Поднять локальный PostgreSQL автоматически»: одна кнопка запускает podman-compose, ждёт pg_isready, накатывает миграции fansy-store + m2m-core, сохраняет DSN в runtime-конфиг. setupFlash теперь возвращает пользователя на /admin/wizard, если POST пришёл оттуда — визард не «теряется» после действий. Mastered tasks: #41, #42, #43.
This commit is contained in:
@@ -21,6 +21,7 @@ var templatesFS embed.FS
|
||||
type admin struct {
|
||||
home, claims, claim, status, setup *template.Template
|
||||
help, helpDatabase, helpLK, helpCryptoPro, helpSystems *template.Template
|
||||
wizard *template.Template
|
||||
}
|
||||
|
||||
// templateFuncs — функции, доступные внутри шаблонов. Главная задача —
|
||||
@@ -121,9 +122,14 @@ func newAdmin() (*admin, error) {
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("parse admin_help_systems: %w", err)
|
||||
}
|
||||
wizard, err := parse("admin_wizard.html")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("parse admin_wizard: %w", err)
|
||||
}
|
||||
return &admin{
|
||||
home: home, claims: claims, claim: claim, status: status, setup: setup,
|
||||
help: help, helpDatabase: helpDB, helpLK: helpLK, helpCryptoPro: helpCP, helpSystems: helpSys,
|
||||
wizard: wizard,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user