Списки: период, сортировка, подгрузка; анкета участника — строкой исходящих
«Исходящие», «Входящие», «Журнал обмена»: быстрые периоды (сегодня, 7, 30 дней, всё время), даты с–по, сортировка (время, инвестор/контрагент, направление, статус), первые 50 строк и подгрузка при прокрутке (part=rows&offset=N). Раньше показывались только последние 200/100. Анкета участника — исходящий пакет в НРД: строка в «Исходящих» и «Журнале» с ответом НРД (принята / отклонена с кодом / ждёт), вместо плашки над списком. Отправки копятся в participant-regs.json (прежний participant-reg.json подхватывается). userTemplate — функции текущего пользователя и для порций строк. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
@@ -1657,10 +1657,15 @@ var authTemplateFuncs = template.FuncMap{
|
||||
|
||||
// renderFor — выполняет layout с функциями, привязанными к текущему пользователю.
|
||||
func renderFor(w http.ResponseWriter, t *template.Template, data any) error {
|
||||
return userTemplate(w, t).ExecuteTemplate(w, "layout", data)
|
||||
}
|
||||
|
||||
// userTemplate — копия шаблона с функциями, привязанными к текущему пользователю (curUser, devOn, can).
|
||||
func userTemplate(w http.ResponseWriter, t *template.Template) *template.Template {
|
||||
u := currentUser(w)
|
||||
t2, err := t.Clone()
|
||||
if err != nil {
|
||||
return t.ExecuteTemplate(w, "layout", data)
|
||||
return t
|
||||
}
|
||||
on := devOnFor(u)
|
||||
t2.Funcs(template.FuncMap{
|
||||
@@ -1677,7 +1682,7 @@ func renderFor(w http.ResponseWriter, t *template.Template, data any) error {
|
||||
return u.Can(perm)
|
||||
},
|
||||
})
|
||||
return t2.ExecuteTemplate(w, "layout", data)
|
||||
return t2
|
||||
}
|
||||
|
||||
// ensureSubtle — используется для сравнения токенов в других местах.
|
||||
|
||||
Reference in New Issue
Block a user