mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
More work on organization / admin nav, views, #1506
This commit is contained in:
parent
e1d078f2c1
commit
9e789e6d82
@ -25,11 +25,11 @@ func Register(r *macaron.Macaron) {
|
|||||||
|
|
||||||
// authed views
|
// authed views
|
||||||
r.Get("/profile/", reqSignedIn, Index)
|
r.Get("/profile/", reqSignedIn, Index)
|
||||||
r.Get("/account/", reqSignedIn, Index)
|
r.Get("/org/", reqSignedIn, Index)
|
||||||
r.Get("/account/datasources/", reqSignedIn, Index)
|
r.Get("/datasources/", reqSignedIn, Index)
|
||||||
r.Get("/account/users/", reqSignedIn, Index)
|
r.Get("/org/users/", reqSignedIn, Index)
|
||||||
r.Get("/account/apikeys/", reqSignedIn, Index)
|
r.Get("/org/apikeys/", reqSignedIn, Index)
|
||||||
r.Get("/account/import/", reqSignedIn, Index)
|
r.Get("/dashboard/import/", reqSignedIn, Index)
|
||||||
r.Get("/admin/settings", reqGrafanaAdmin, Index)
|
r.Get("/admin/settings", reqGrafanaAdmin, Index)
|
||||||
r.Get("/admin/users", reqGrafanaAdmin, Index)
|
r.Get("/admin/users", reqGrafanaAdmin, Index)
|
||||||
r.Get("/admin/users/create", reqGrafanaAdmin, Index)
|
r.Get("/admin/users/create", reqGrafanaAdmin, Index)
|
||||||
|
@ -15,23 +15,48 @@ function (angular, _, $, config) {
|
|||||||
return config.appSubUrl + url;
|
return config.appSubUrl + url;
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.menu = [];
|
$scope.mainLinks = [];
|
||||||
$scope.menu.push({
|
$scope.mainLinks.push({
|
||||||
text: "Dashboards",
|
text: "Dashboards",
|
||||||
icon: "fa fa-fw fa-th-large",
|
icon: "fa fa-fw fa-th-large",
|
||||||
href: $scope.getUrl("/"),
|
href: $scope.getUrl("/"),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (contextSrv.hasRole('Admin')) {
|
if (contextSrv.hasRole('Admin')) {
|
||||||
$scope.menu.push({
|
$scope.mainLinks.push({
|
||||||
text: "Data Sources",
|
text: "Data Sources",
|
||||||
icon: "fa fa-fw fa-database",
|
icon: "fa fa-fw fa-database",
|
||||||
href: $scope.getUrl("/datasources"),
|
href: $scope.getUrl("/datasources"),
|
||||||
});
|
});
|
||||||
$scope.menu.push({
|
}
|
||||||
text: "Organization", href: $scope.getUrl("/org"),
|
|
||||||
|
$scope.bottomLinks = [];
|
||||||
|
if (contextSrv.user.isSignedIn) {
|
||||||
|
$scope.bottomLinks.push({
|
||||||
|
text: contextSrv.user.name,
|
||||||
|
imgSrc: contextSrv.user.gravatarUrl,
|
||||||
|
href: $scope.getUrl("/profile"),
|
||||||
|
});
|
||||||
|
|
||||||
|
$scope.bottomLinks.push({
|
||||||
|
text: contextSrv.user.orgName,
|
||||||
|
href: $scope.getUrl("/org"),
|
||||||
icon: "fa fa-fw fa-users",
|
icon: "fa fa-fw fa-users",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (contextSrv.hasRole('Admin')) {
|
||||||
|
$scope.bottomLinks.push({
|
||||||
|
text: "System admin",
|
||||||
|
icon: "fa fa-fw fa-cog",
|
||||||
|
href: $scope.getUrl("/admin/settings"),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.bottomLinks.push({
|
||||||
|
text: "Sign out",
|
||||||
|
icon: "fa fa-fw fa-sign-out",
|
||||||
|
href: $scope.getUrl("/logout"),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.updateState = function() {
|
$scope.updateState = function() {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<topnav title="Data sources" icon="fa fa-fw fa-database" subnav="true">
|
<topnav title="Data sources" icon="fa fa-fw fa-database" subnav="true">
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="account/datasources">Overview</a></li>
|
<li><a href="datasources">Overview</a></li>
|
||||||
<li ng-class="{active: isNew}"><a href="account/datasources/new">Add new</a></li>
|
<li ng-class="{active: isNew}"><a href="datasources/new">Add new</a></li>
|
||||||
<li class="active" ng-show="!isNew"><a href="account/datasources/edit/{{current.name}}">Edit</a></li>
|
<li class="active" ng-show="!isNew"><a href="datasources/edit/{{current.name}}">Edit</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</topnav>
|
</topnav>
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td style="width: 1%">
|
<td style="width: 1%">
|
||||||
<a href="account/datasources/edit/{{ds.id}}" class="btn btn-inverse btn-mini">
|
<a href="datasources/edit/{{ds.id}}" class="btn btn-inverse btn-mini">
|
||||||
<i class="fa fa-edit"></i>
|
<i class="fa fa-edit"></i>
|
||||||
Edit
|
Edit
|
||||||
</a>
|
</a>
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
<div ng-controller="SideMenuCtrl" ng-init="init()">
|
<div ng-controller="SideMenuCtrl" ng-init="init()">
|
||||||
|
|
||||||
<ul class="sidemenu sidemenu-main">
|
<ul class="sidemenu sidemenu-main">
|
||||||
<li style="margin-bottom: 10px;">
|
<li style="margin-bottom: 15px;">
|
||||||
<a class="pointer sidemenu-top-btn" ng-click="contextSrv.toggleSideMenu()">
|
<a class="pointer sidemenu-top-btn" ng-click="contextSrv.toggleSideMenu()">
|
||||||
<img class="logo-icon" src="img/fav32.png"></img>
|
<img class="logo-icon" src="img/fav32.png"></img>
|
||||||
<i class="pull-right fa fa-angle-left"></i>
|
<i class="pull-right fa fa-angle-left"></i>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li ng-repeat="item in menu">
|
<li ng-repeat="item in mainLinks">
|
||||||
<a href="{{item.href}}" class="sidemenu-item" target="{{item.target}}">
|
<a href="{{item.href}}" class="sidemenu-item" target="{{item.target}}">
|
||||||
<span class="icon-circle sidemenu-icon"><i class="{{item.icon}}"></i></span>
|
<span class="icon-circle sidemenu-icon"><i class="{{item.icon}}"></i></span>
|
||||||
<span class="sidemenu-item-text">{{item.text}}</span>
|
<span class="sidemenu-item-text">{{item.text}}</span>
|
||||||
@ -17,33 +17,41 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul class="sidemenu sidemenu-small" ng-if="contextSrv.user.isSignedIn">
|
<ul class="sidemenu sidemenu-small" style="margin-top:50px">
|
||||||
<li style="margin-top:50px">
|
<!-- <li> -->
|
||||||
<a href="profile" class="sidemenu-item sidemenu-user">
|
<!-- <a href="profile" class="sidemenu-item sidemenu-user"> -->
|
||||||
<img ng-src="{{contextSrv.user.gravatarUrl}}">
|
<!-- <img ng-src="{{contextSrv.user.gravatarUrl}}"> -->
|
||||||
<span class="sidemenu-item-text">{{contextSrv.user.name}}</a>
|
<!-- <span class="sidemenu-item-text">{{contextSrv.user.name}}</a> -->
|
||||||
</a>
|
<!-- </a> -->
|
||||||
|
<!-- </li> -->
|
||||||
|
<!-- -->
|
||||||
|
<li ng-repeat="item in bottomLinks">
|
||||||
|
<a href="{{item.href}}" class="sidemenu-item" target="{{item.target}}">
|
||||||
|
<img ng-if="item.imgSrc" ng-src="{{item.imgSrc}}">
|
||||||
|
<span class="icon-circle sidemenu-icon" ng-if="item.icon"><i class="{{item.icon}}"></i></span>
|
||||||
|
<span class="sidemenu-item-text">{{item.text}}</span>
|
||||||
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li ng-if="contextSrv.user.isGrafanaAdmin">
|
<!-- <li ng-if="contextSrv.user.isGrafanaAdmin"> -->
|
||||||
<a href="admin/settings" class="sidemenu-item">
|
<!-- <a href="admin/settings" class="sidemenu-item"> -->
|
||||||
<span class="icon-circle sidemenu-icon"><i class="fa fw-fw fa-cogs"></i></span>
|
<!-- <span class="icon-circle sidemenu-icon"><i class="fa fw-fw fa-cogs"></i></span> -->
|
||||||
<span class="sidemenu-item-text">System Admin</span>
|
<!-- <span class="sidemenu-item-text">System Admin</span> -->
|
||||||
</a>
|
<!-- </a> -->
|
||||||
</li>
|
<!-- </li> -->
|
||||||
|
<!-- -->
|
||||||
<li>
|
<!-- <li> -->
|
||||||
<a href="logout" class="sidemenu-item" target="_self">
|
<!-- <a href="logout" class="sidemenu-item" target="_self"> -->
|
||||||
<span class="icon-circle sidemenu-icon"><i class="fa fa-fw fa-sign-out"></i></span>
|
<!-- <span class="icon-circle sidemenu-icon"><i class="fa fa-fw fa-sign-out"></i></span> -->
|
||||||
<span class="sidemenu-item-text">Sign out</span>
|
<!-- <span class="sidemenu-item-text">Sign out</span> -->
|
||||||
</a>
|
<!-- </a> -->
|
||||||
</li>
|
<!-- </li> -->
|
||||||
|
<!-- -->
|
||||||
<li ng-if="!contextSrv.user.isSignedIn" style="margin-top:50px">
|
<!-- <li ng-if="!contextSrv.user.isSignedIn" style="margin-top:50px"> -->
|
||||||
<a href="/login" class="sidemenu-item" target="_self">
|
<!-- <a href="/login" class="sidemenu-item" target="_self"> -->
|
||||||
<span class="sidemenu-icon"><i class="fa fa-fw fa-sign-in"></i></span>
|
<!-- <span class="sidemenu-icon"><i class="fa fa-fw fa-sign-in"></i></span> -->
|
||||||
<span class="sidemenu-item-text">Sign in</span>
|
<!-- <span class="sidemenu-item-text">Sign in</span> -->
|
||||||
</a>
|
<!-- </a> -->
|
||||||
</li>
|
<!-- </li> -->
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
li {
|
li {
|
||||||
margin-bottom: 7px;
|
margin-bottom: 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.sidemenu-small {
|
&.sidemenu-small {
|
||||||
@ -54,7 +54,7 @@
|
|||||||
height: 28px;
|
height: 28px;
|
||||||
i {
|
i {
|
||||||
top: 1px;
|
top: 1px;
|
||||||
left: 6px;
|
left: 4px;
|
||||||
font-size: 110%;
|
font-size: 110%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -62,6 +62,7 @@
|
|||||||
.sidemenu-item {
|
.sidemenu-item {
|
||||||
color: @textColor;
|
color: @textColor;
|
||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
|
padding-left: 25px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,13 +77,7 @@
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
img {
|
|
||||||
border-radius: 50%;
|
|
||||||
width: 28px;
|
|
||||||
height: 28px;
|
|
||||||
box-shadow: 0 0 14px 2px rgba(255,255,255, 0.05);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.sidemenu-top-btn {
|
.sidemenu-top-btn {
|
||||||
display: block;
|
display: block;
|
||||||
@ -135,6 +130,12 @@
|
|||||||
padding-left: 59px;
|
padding-left: 59px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
img {
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 28px;
|
||||||
|
height: 28px;
|
||||||
|
box-shadow: 0 0 14px 2px rgba(255,255,255, 0.05);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user