Мастер, шаг 3 DEPO — по экранам: описание → подключение (проверка сразу) → таблицы (bj или скрипт) → обработка (job) → готово; справочник участников M2M встроен снимком для чистой установки

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 23:24:03 +03:00
parent d7b53f1c16
commit 29e9dbcfbc
11 changed files with 302 additions and 19 deletions
+2 -2
View File
@@ -7,7 +7,6 @@ import (
"fmt"
"html/template"
"net/http"
"os"
"path"
"strings"
"time"
@@ -53,6 +52,7 @@ var templateFuncs = template.FuncMap{
"devOn": authTemplateFuncs["devOn"],
"devLicensed": authTemplateFuncs["devLicensed"],
"mod": func(f string) bool { return globalRC == nil || moduleAllowed(globalRC, f) }, // модуль в лицензии
"depoSubs": func() any { return depoWizardSubs }, // экраны шага 3 мастера
"authOpen": authOpen,
"internalDocs": func() bool { return internalDocsBuilt },
"roleTitle": roleTitle,
@@ -683,7 +683,7 @@ type handbookData struct {
func (a *admin) renderHandbook(w http.ResponseWriter, _ *http.Request) {
data := handbookData{page: nowPage("Справочник участников", "handbook")}
data.CodesHTML = template.HTML(m2mSpravkaHTML(false)) // справка по кодам ошибок
if raw, err := os.ReadFile(handbookFile); err == nil {
if raw, err := readHandbook(); err == nil {
var hb struct {
At string `json:"at"`
Participants []HandbookEntry `json:"participants"`