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() {
}
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 {
......
......@@ -35,12 +35,15 @@ func (self *HttpServer) loginPost(c *gin.Context) {
}
session, _ := sessionStore.Get(c.Request, "grafana-session")
session.Values["login"] = true
session.Values["login"] = loginModel.Email
session.Values["accountId"] = account.DatabaseId
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) {
......@@ -73,6 +76,7 @@ func (self *HttpServer) auth() gin.HandlerFunc {
}
c.Set("accountId", session.Values["accountId"])
c.Set("login", session.Values["login"])
session.Save(c.Request, c.Writer)
}
......
......@@ -10,8 +10,17 @@ type errorResponse struct {
Message string `json:"message"`
}
type indexViewModel struct {
title string
type IndexDto struct {
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 {
......
<!DOCTYPE html>
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
......@@ -8,6 +7,7 @@
<title>Grafana</title>
<link rel="stylesheet" href="/public/css/grafana.dark.min.css" title="Dark">
<link rel="icon" type="image/png" href="img/fav32.png">
<base href="/">
<!-- build:js app/app.js -->
......@@ -20,12 +20,11 @@
</head>
<body ng-cloak ng-controller="GrafanaCtrl">
<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>
</aside>
......@@ -39,4 +38,12 @@
</div>
</body>
<script>
window.grafanaBootData = {
user: {
login: [[.User.Login]]
}
};
</script>
</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