mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-06 14:20:55 +03:00
updated utils.LoadTemplate() to call template.ParseFiles() directly and added a way to specify a base template (will be used in the next commit)
This commit is contained in:
committed by
Nicola Murino
parent
c07dc74d48
commit
88b10da596
@@ -251,20 +251,21 @@ func loadAdminTemplates(templatesPath string) {
|
|||||||
setupPath := []string{
|
setupPath := []string{
|
||||||
filepath.Join(templatesPath, templateAdminDir, templateSetup),
|
filepath.Join(templatesPath, templateAdminDir, templateSetup),
|
||||||
}
|
}
|
||||||
usersTmpl := utils.LoadTemplate(template.ParseFiles(usersPaths...))
|
|
||||||
userTmpl := utils.LoadTemplate(template.ParseFiles(userPaths...))
|
usersTmpl := utils.LoadTemplate(nil, usersPaths...)
|
||||||
adminsTmpl := utils.LoadTemplate(template.ParseFiles(adminsPaths...))
|
userTmpl := utils.LoadTemplate(nil, userPaths...)
|
||||||
adminTmpl := utils.LoadTemplate(template.ParseFiles(adminPaths...))
|
adminsTmpl := utils.LoadTemplate(nil, adminsPaths...)
|
||||||
connectionsTmpl := utils.LoadTemplate(template.ParseFiles(connectionsPaths...))
|
adminTmpl := utils.LoadTemplate(nil, adminPaths...)
|
||||||
messageTmpl := utils.LoadTemplate(template.ParseFiles(messagePath...))
|
connectionsTmpl := utils.LoadTemplate(nil, connectionsPaths...)
|
||||||
foldersTmpl := utils.LoadTemplate(template.ParseFiles(foldersPath...))
|
messageTmpl := utils.LoadTemplate(nil, messagePath...)
|
||||||
folderTmpl := utils.LoadTemplate(template.ParseFiles(folderPath...))
|
foldersTmpl := utils.LoadTemplate(nil, foldersPath...)
|
||||||
statusTmpl := utils.LoadTemplate(template.ParseFiles(statusPath...))
|
folderTmpl := utils.LoadTemplate(nil, folderPath...)
|
||||||
loginTmpl := utils.LoadTemplate(template.ParseFiles(loginPath...))
|
statusTmpl := utils.LoadTemplate(nil, statusPath...)
|
||||||
changePwdTmpl := utils.LoadTemplate(template.ParseFiles(changePwdPaths...))
|
loginTmpl := utils.LoadTemplate(nil, loginPath...)
|
||||||
maintenanceTmpl := utils.LoadTemplate(template.ParseFiles(maintenancePath...))
|
changePwdTmpl := utils.LoadTemplate(nil, changePwdPaths...)
|
||||||
defenderTmpl := utils.LoadTemplate(template.ParseFiles(defenderPath...))
|
maintenanceTmpl := utils.LoadTemplate(nil, maintenancePath...)
|
||||||
setupTmpl := utils.LoadTemplate(template.ParseFiles(setupPath...))
|
defenderTmpl := utils.LoadTemplate(nil, defenderPath...)
|
||||||
|
setupTmpl := utils.LoadTemplate(nil, setupPath...)
|
||||||
|
|
||||||
adminTemplates[templateUsers] = usersTmpl
|
adminTemplates[templateUsers] = usersTmpl
|
||||||
adminTemplates[templateUser] = userTmpl
|
adminTemplates[templateUser] = userTmpl
|
||||||
|
|||||||
@@ -123,10 +123,10 @@ func loadClientTemplates(templatesPath string) {
|
|||||||
filepath.Join(templatesPath, templateClientDir, templateClientMessage),
|
filepath.Join(templatesPath, templateClientDir, templateClientMessage),
|
||||||
}
|
}
|
||||||
|
|
||||||
filesTmpl := utils.LoadTemplate(template.ParseFiles(filesPaths...))
|
filesTmpl := utils.LoadTemplate(nil, filesPaths...)
|
||||||
credentialsTmpl := utils.LoadTemplate(template.ParseFiles(credentialsPaths...))
|
credentialsTmpl := utils.LoadTemplate(nil, credentialsPaths...)
|
||||||
loginTmpl := utils.LoadTemplate(template.ParseFiles(loginPath...))
|
loginTmpl := utils.LoadTemplate(nil, loginPath...)
|
||||||
messageTmpl := utils.LoadTemplate(template.ParseFiles(messagePath...))
|
messageTmpl := utils.LoadTemplate(nil, messagePath...)
|
||||||
|
|
||||||
clientTemplates[templateClientFiles] = filesTmpl
|
clientTemplates[templateClientFiles] = filesTmpl
|
||||||
clientTemplates[templateClientCredentials] = credentialsTmpl
|
clientTemplates[templateClientCredentials] = credentialsTmpl
|
||||||
|
|||||||
@@ -353,9 +353,22 @@ func CleanPath(p string) string {
|
|||||||
return path.Clean(p)
|
return path.Clean(p)
|
||||||
}
|
}
|
||||||
|
|
||||||
// LoadTemplate wraps a call to a function returning (*Template, error)
|
// LoadTemplate parses the given template paths.
|
||||||
// it is just like template.Must but it writes a log before exiting
|
// it behaves like template.Must but it writes a log before exiting
|
||||||
func LoadTemplate(t *template.Template, err error) *template.Template {
|
// you can optionally provide a base template (e.g. to define some custom functions)
|
||||||
|
func LoadTemplate(base *template.Template, paths ...string) *template.Template {
|
||||||
|
var t *template.Template
|
||||||
|
var err error
|
||||||
|
|
||||||
|
if base != nil {
|
||||||
|
t, err = base.ParseFiles(paths...)
|
||||||
|
if err == nil {
|
||||||
|
t, err = t.Clone()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
t, err = template.ParseFiles(paths...)
|
||||||
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.ErrorToConsole("error loading required template: %v", err)
|
logger.ErrorToConsole("error loading required template: %v", err)
|
||||||
logger.Error(logSender, "", "error loading required template: %v", err)
|
logger.Error(logSender, "", "error loading required template: %v", err)
|
||||||
|
|||||||
Reference in New Issue
Block a user