diff --git a/web/templates/_base.html b/web/templates/_base.html
index 8fd42844c8..6ad6e054ee 100644
--- a/web/templates/_base.html
+++ b/web/templates/_base.html
@@ -13,6 +13,8 @@
Graph & Console
Status
Databases
+ {{ define "user_dashboard_link" }}{{ end }}
+ {{ template "user_dashboard_link" .}}
Help
diff --git a/web/web.go b/web/web.go
index 07542d914c..d5375677a0 100644
--- a/web/web.go
+++ b/web/web.go
@@ -75,12 +75,15 @@ func (w WebService) ServeForever() error {
return http.ListenAndServe(*listenAddress, exp.DefaultCoarseMux)
}
-func getTemplate(name string) (t *template.Template, err error) {
- if *useLocalAssets {
- return template.ParseFiles("web/templates/_base.html", fmt.Sprintf("web/templates/%s.html", name))
- }
+func getLocalTemplate(name string) (*template.Template, error) {
+ return template.ParseFiles(
+ "web/templates/_base.html",
+ fmt.Sprintf("web/templates/%s.html", name),
+ )
+}
- t = template.New("_base")
+func getEmbeddedTemplate(name string) (*template.Template, error) {
+ t := template.New("_base")
file, err := blob.GetFile(blob.TemplateFiles, "_base.html")
if err != nil {
@@ -96,6 +99,26 @@ func getTemplate(name string) (t *template.Template, err error) {
}
t.Parse(string(file))
+ return t, nil
+}
+
+
+func getTemplate(name string) (t *template.Template, err error) {
+ if *useLocalAssets {
+ t, err = getLocalTemplate(name)
+ } else {
+ t, err = getEmbeddedTemplate(name)
+ }
+
+ if err != nil {
+ return
+ }
+
+ if *userAssetsPath != "" {
+ // replace "user_dashboard_link" template
+ t.Parse(`{{define "user_dashboard_link"}}User Dashboard{{end}}`)
+ }
+
return
}