Commit 4dfe8b6f by Torkel Ödegaard

Working on login user name state

parent ecafc7bf
Subproject commit 4b382e0faff3fa2e5c05ca3306d54d8e5f8ca89c Subproject commit 4f798cfe568db2491fe5eea3f06ddd3027117e90
...@@ -58,7 +58,13 @@ func (self *HttpServer) ListenAndServe() { ...@@ -58,7 +58,13 @@ func (self *HttpServer) ListenAndServe() {
} }
func (self *HttpServer) index(c *gin.Context) { func (self *HttpServer) index(c *gin.Context) {
c.HTML(200, "index.html", &indexViewModel{title: "hello from go"}) viewModel := &IndexDto{}
login, _ := c.Get("login")
if login != nil {
viewModel.User.Login = login.(string)
}
c.HTML(200, "index.html", viewModel)
} }
func CacheHeadersMiddleware() gin.HandlerFunc { func CacheHeadersMiddleware() gin.HandlerFunc {
......
...@@ -35,12 +35,15 @@ func (self *HttpServer) loginPost(c *gin.Context) { ...@@ -35,12 +35,15 @@ func (self *HttpServer) loginPost(c *gin.Context) {
} }
session, _ := sessionStore.Get(c.Request, "grafana-session") session, _ := sessionStore.Get(c.Request, "grafana-session")
session.Values["login"] = true session.Values["login"] = loginModel.Email
session.Values["accountId"] = account.DatabaseId session.Values["accountId"] = account.DatabaseId
session.Save(c.Request, c.Writer) session.Save(c.Request, c.Writer)
c.JSON(200, gin.H{"status": "you are logged in"}) var resp = &LoginResultDto{}
resp.Status = "Logged in"
resp.User.Login = account.Login
c.JSON(200, resp)
} }
func (self *HttpServer) logoutPost(c *gin.Context) { func (self *HttpServer) logoutPost(c *gin.Context) {
...@@ -73,6 +76,7 @@ func (self *HttpServer) auth() gin.HandlerFunc { ...@@ -73,6 +76,7 @@ func (self *HttpServer) auth() gin.HandlerFunc {
} }
c.Set("accountId", session.Values["accountId"]) c.Set("accountId", session.Values["accountId"])
c.Set("login", session.Values["login"])
session.Save(c.Request, c.Writer) session.Save(c.Request, c.Writer)
} }
......
...@@ -10,8 +10,17 @@ type errorResponse struct { ...@@ -10,8 +10,17 @@ type errorResponse struct {
Message string `json:"message"` Message string `json:"message"`
} }
type indexViewModel struct { type IndexDto struct {
title string User CurrentUserDto
}
type CurrentUserDto struct {
Login string `json:"login"`
}
type LoginResultDto struct {
Status string `json:"status"`
User CurrentUserDto `json:"user"`
} }
func newErrorResponse(message string) *errorResponse { func newErrorResponse(message string) *errorResponse {
......
<!DOCTYPE html> <!DOCTYPE html>
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> <html lang="en">
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
...@@ -8,6 +7,7 @@ ...@@ -8,6 +7,7 @@
<title>Grafana</title> <title>Grafana</title>
<link rel="stylesheet" href="/public/css/grafana.dark.min.css" title="Dark"> <link rel="stylesheet" href="/public/css/grafana.dark.min.css" title="Dark">
<link rel="icon" type="image/png" href="img/fav32.png">
<base href="/"> <base href="/">
<!-- build:js app/app.js --> <!-- build:js app/app.js -->
...@@ -20,12 +20,11 @@ ...@@ -20,12 +20,11 @@
</head> </head>
<body ng-cloak ng-controller="GrafanaCtrl"> <body ng-cloak ng-controller="GrafanaCtrl">
<link rel="stylesheet" href="/public/css/grafana.light.min.css" ng-if="grafana.style === 'light'"> <link rel="stylesheet" href="/public/css/grafana.light.min.css" ng-if="grafana.style === 'light'">
<div class="pro-container" ng-class="{'pro-sidemenu-open': showProSideMenu}"> <div class="pro-container" ng-class="{'pro-sidemenu-open': grafana.sidemenu}">
<aside class="pro-sidemenu" ng-if="showProSideMenu"> <aside class="pro-sidemenu" ng-if="grafana.sidemenu">
<div ng-include="'app/partials/pro/sidemenu.html'"></div> <div ng-include="'app/partials/pro/sidemenu.html'"></div>
</aside> </aside>
...@@ -39,4 +38,12 @@ ...@@ -39,4 +38,12 @@
</div> </div>
</body> </body>
<script>
window.grafanaBootData = {
user: {
login: [[.User.Login]]
}
};
</script>
</html> </html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment