mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Merge branch 'develop' into develop-newgrid-rows
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"github.com/grafana/grafana/pkg/api/dtos"
|
||||
"github.com/grafana/grafana/pkg/bus"
|
||||
"github.com/grafana/grafana/pkg/middleware"
|
||||
m "github.com/grafana/grafana/pkg/models"
|
||||
@@ -31,10 +32,6 @@ func addOrgUserHelper(cmd m.AddOrgUserCommand) Response {
|
||||
|
||||
userToAdd := userQuery.Result
|
||||
|
||||
// if userToAdd.Id == c.UserId {
|
||||
// return ApiError(400, "Cannot add yourself as user", nil)
|
||||
// }
|
||||
|
||||
cmd.UserId = userToAdd.Id
|
||||
|
||||
if err := bus.Dispatch(&cmd); err != nil {
|
||||
@@ -64,6 +61,10 @@ func getOrgUsersHelper(orgId int64) Response {
|
||||
return ApiError(500, "Failed to get account user", err)
|
||||
}
|
||||
|
||||
for _, user := range query.Result {
|
||||
user.AvatarUrl = dtos.GetGravatarUrl(user.Email)
|
||||
}
|
||||
|
||||
return Json(200, query.Result)
|
||||
}
|
||||
|
||||
|
||||
@@ -115,6 +115,7 @@ type OrgUserDTO struct {
|
||||
OrgId int64 `json:"orgId"`
|
||||
UserId int64 `json:"userId"`
|
||||
Email string `json:"email"`
|
||||
AvatarUrl string `json:"avatarUrl"`
|
||||
Login string `json:"login"`
|
||||
Role string `json:"role"`
|
||||
LastSeenAt time.Time `json:"lastSeenAt"`
|
||||
|
||||
@@ -85,16 +85,12 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="editor.index == 2">
|
||||
<div ng-if="editor.index == 1">
|
||||
<dash-links-editor></dash-links-editor>
|
||||
</div>
|
||||
|
||||
<div ng-if="editor.index == 3">
|
||||
<div ng-if="editor.index == 2">
|
||||
<gf-time-picker-settings dashboard="dashboard"></gf-time-picker-settings>
|
||||
</div>
|
||||
|
||||
<div ng-if="editor.index == 4">
|
||||
<acl-settings dashboard="dashboard"></acl-settings>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
</h1>
|
||||
|
||||
<div class="page-header-tabs">
|
||||
|
||||
<button class="btn btn-success" ng-click="ctrl.openAddUsersView()" ng-hide="ctrl.externalUserMngLinkUrl">
|
||||
<i class="fa fa-plus"></i>
|
||||
<span>{{ctrl.addUsersBtnName}}</span>
|
||||
@@ -47,6 +46,7 @@
|
||||
<table class="filter-table form-inline">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Login</th>
|
||||
<th>Email</th>
|
||||
<th>
|
||||
@@ -58,6 +58,9 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tr ng-repeat="user in ctrl.users">
|
||||
<td class="width-4 text-center">
|
||||
<img class="filter-table__avatar" ng-src="{{user.avatarUrl}}"></img>
|
||||
</td>
|
||||
<td>{{user.login}}</td>
|
||||
<td><span class="ellipsis">{{user.email}}</span></td>
|
||||
<td>{{user.lastSeenAtAge}}</td>
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
<div gemini-scrollbar>
|
||||
<div dash-editor-view class="dash-edit-view"></div>
|
||||
<div class="dashboard-container">
|
||||
|
||||
<dashboard-submenu ng-if="dashboard.meta.submenuEnabled" dashboard="dashboard"></dashboard-submenu>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<dashboard-submenu ng-if="dashboard.meta.submenuEnabled" dashboard="dashboard"></dashboard-submenu>
|
||||
|
||||
@@ -63,6 +63,7 @@ $text-shadow-faint: 1px 1px 4px rgb(45, 45, 45);
|
||||
// gradients
|
||||
$brand-gradient: linear-gradient(to right, rgba(255,213,0,0.7) 0%, rgba(255,68,0,0.7) 99%, rgba(255,68,0,0.7) 100%);
|
||||
$page-gradient: linear-gradient(180deg, rgb(36, 36, 36) 40px, rgba(178, 31, 31, 0.03) 100px, rgba(253, 187, 45, 0.03));
|
||||
$dashboard-gradient: linear-gradient(180deg, #242424 10px, rgba(15, 15, 15, 1) 100px, rgb(10, 10, 10));
|
||||
|
||||
// Links
|
||||
// -------------------------
|
||||
|
||||
@@ -69,6 +69,7 @@ $text-shadow-faint: none;
|
||||
// gradients
|
||||
$brand-gradient: linear-gradient(to right, rgba(255,213,0,1.0) 0%, rgba(255,68,0,1.0) 99%, rgba(255,68,0,1.0) 100%);
|
||||
$page-gradient: linear-gradient(60deg, transparent 70%, darken($page-bg, 4%) 98%);
|
||||
$dashboard-gradient: linear-gradient(60deg, transparent 70%, darken($page-bg, 4%) 98%);
|
||||
|
||||
// Links
|
||||
// -------------------------
|
||||
|
||||
@@ -53,4 +53,8 @@
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
.filter-table__avatar {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
flex-direction: column;
|
||||
width: $side-menu-width;
|
||||
background: $navbarBackground;
|
||||
z-index: 1;
|
||||
z-index: 10;
|
||||
box-shadow: 0 0 20px black;
|
||||
|
||||
a:focus {
|
||||
text-decoration: none;
|
||||
@@ -17,6 +18,9 @@
|
||||
background: $side-menu-bg;
|
||||
position: initial;
|
||||
height: auto;
|
||||
box-shadow: 0 0 20px black;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.sidemenu__top,
|
||||
.sidemenu__bottom {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
.tabbed-view {
|
||||
background-color: $page-bg;
|
||||
background-color: $panel-bg;
|
||||
padding: $spacer*3;
|
||||
margin-bottom: $dashboard-padding;
|
||||
|
||||
&.tabbed-view--panel-edit {
|
||||
padding: 0;
|
||||
|
||||
@@ -46,6 +46,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
.navbar {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.navbar-page-btn {
|
||||
border-color: transparent;
|
||||
background: transparent;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
.dashboard-container {
|
||||
padding: $dashboard-padding;
|
||||
background: $dashboard-gradient;
|
||||
width: 100%;
|
||||
background: $page-gradient;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
.template-variable {
|
||||
|
||||
Reference in New Issue
Block a user