Work on login and sidemenu

This commit is contained in:
Torkel Ödegaard
2014-08-16 21:54:26 +02:00
parent 9e30599f1f
commit efed13b9fe
7 changed files with 77 additions and 6 deletions

51
' Normal file
View File

@ -0,0 +1,51 @@
<div class="navbar navbar-static-top">
<div class="navbar-inner">
<div class="container-fluid">
<span class="brand">
<i class="icon-gears" style=""></i>
<span style="color: white; padding-left: 4px;">Grafana</span>
<ul class="nav" ng-controller='DashboardNavCtrl' ng-init="init()">
</span>
</ul>
</div>
</div>
</div>
<section class="pro-sidemenu-items">
<div class="dropdown pro-side-menu-user">
<img src="https://secure.gravatar.com/avatar/c8656e8972626f01e1703681d5e55f92?s=90&default=blank">
<a class="dropdown-toggle pro-sidemenu-link " data-toggle="dropdown">
torkelo
<i class="icon-caret-down"></i>
</a>
<ul class="dropdown-menu">
<li><a href="/logout" target="_blank">Logout</a></li>
</ul>
</div>
<a class="pro-sidemenu-link" href="/dashboard/db/home">
<i class="icon-th-large"></i>
Dashboards
</a>
<a class="pro-sidemenu-link" href="/charts">
<i class="icon-signal"></i>
Graphs
</a>
<a class="pro-sidemenu-link" href="/charts">
<i class="icon-bolt" style="padding-right: 23px"></i>
Alerts
</a>
<a class="pro-sidemenu-link" href="/admin/datasources">
<i class="icon-sitemap"></i>
Data sources
</a>
<a class="pro-sidemenu-link" href="/admin">
<i class="icon-tasks"></i>
Global options
</a>
<a class="pro-sidemenu-link" href="/admin">
<i class="icon-user"></i>
User accounts
</a>
</section>
</div>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Submodule grafana updated: 472e1c6d8e...34ab1e529b

View File

@ -6,6 +6,7 @@ func init() {
addRoutes(func(self *HttpServer) {
self.router.GET("/login/*_", self.index)
self.router.POST("/login", self.loginPost)
self.router.POST("/logout", self.logoutPost)
})
}
@ -32,6 +33,14 @@ func (self *HttpServer) loginPost(c *gin.Context) {
}
}
func (self *HttpServer) logoutPost(c *gin.Context) {
session, _ := sessionStore.Get(c.Request, "grafana-session")
session.Values["login"] = nil
session.Save(c.Request, c.Writer)
c.JSON(200, gin.H{"status": "logged out"})
}
func (self *HttpServer) authMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
session, _ := sessionStore.Get(c.Request, "grafana-session")

View File

@ -23,12 +23,20 @@
<link rel="stylesheet" href="/public/css/grafana.light.min.css" ng-if="grafana.style === 'light'">
<div ng-repeat='alert in dashAlerts.list' class="alert-{{alert.severity}} dashboard-notice" ng-show="$last">
<button type="button" class="close" ng-click="dashAlerts.clear(alert)" style="padding-right:50px">&times;</button>
<strong>{{alert.title}}</strong> <span ng-bind-html='alert.text'></span> <div style="padding-right:10px" class='pull-right small'> {{$index + 1}} alert(s) </div>
</div>
<div class="pro-container" ng-class="{'pro-sidemenu-open': showProSideMenu}">
<div ng-view ng-class="{'dashboard-fullscreen': fullscreen}"></div>
<aside class="pro-sidemenu" ng-if="showProSideMenu">
<div ng-include="'app/partials/pro/sidemenu.html'"></div>
</aside>
<div ng-repeat='alert in dashAlerts.list' class="alert-{{alert.severity}} dashboard-notice" ng-show="$last">
<button type="button" class="close" ng-click="dashAlerts.clear(alert)" style="padding-right:50px">&times;</button>
<strong>{{alert.title}}</strong> <span ng-bind-html='alert.text'></span> <div style="padding-right:10px" class='pull-right small'> {{$index + 1}} alert(s) </div>
</div>
<div ng-view class="pro-main-view" ng-class="{'dashboard-fullscreen': fullscreen}"></div>
</div>
</body>
</html>