summaryrefslogtreecommitdiffstats
path: root/api/context.go
diff options
context:
space:
mode:
Diffstat (limited to 'api/context.go')
-rw-r--r--api/context.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/api/context.go b/api/context.go
index b152d6da8..41a52fa0c 100644
--- a/api/context.go
+++ b/api/context.go
@@ -5,6 +5,7 @@ package api
import (
"fmt"
+ "html/template"
"net"
"net/http"
"net/url"
@@ -31,11 +32,14 @@ type Context struct {
siteURL string
SessionTokenIndex int64
T goi18n.TranslateFunc
+ Locale string
}
type Page struct {
TemplateName string
Props map[string]string
+ Extra map[string]string
+ Html map[string]template.HTML
ClientCfg map[string]string
ClientLicense map[string]string
User *model.User
@@ -43,6 +47,7 @@ type Page struct {
Channel *model.Channel
PostID string
SessionTokenIndex int64
+ Locale string
}
func ApiAppHandler(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler {
@@ -86,7 +91,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
l4g.Debug("%v", r.URL.Path)
c := &Context{}
- c.T = utils.GetTranslations(w, r)
+ c.T, c.Locale = utils.GetTranslationsAndLocale(w, r)
c.RequestId = model.NewId()
c.IpAddress = GetIpAddress(r)
@@ -505,6 +510,10 @@ func RenderWebError(err *model.AppError, w http.ResponseWriter, r *http.Request)
props["SiteURL"] = GetProtocol(r) + "://" + r.Host
}
+ T, _ := utils.GetTranslationsAndLocale(w, r)
+ props["Title"] = T("api.templates.error.title", map[string]interface{}{"SiteName": utils.ClientCfg["SiteName"]})
+ props["Link"] = T("api.templates.error.link")
+
w.WriteHeader(err.StatusCode)
ServerTemplates.ExecuteTemplate(w, "error.html", Page{Props: props, ClientCfg: utils.ClientCfg})
}