Просмотр исходного кода

Merge branch 'develop' into develop-newgrid-rows

Torkel Ödegaard 8 лет назад
Родитель
Сommit
301ae2ea05

+ 5 - 4
pkg/api/org_users.go

@@ -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)
 }
 

+ 1 - 0
pkg/models/org_user.go

@@ -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"`

+ 2 - 6
public/app/features/dashboard/partials/settings.html

@@ -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>

+ 4 - 1
public/app/features/org/partials/orgUsers.html

@@ -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>

+ 3 - 0
public/app/partials/dashboard.html

@@ -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>

+ 1 - 0
public/sass/_variables.dark.scss

@@ -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
 // -------------------------

+ 1 - 0
public/sass/_variables.light.scss

@@ -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
 // -------------------------

+ 5 - 1
public/sass/components/_filter-table.scss

@@ -53,4 +53,8 @@
   padding-bottom: 0;
 }
 
-
+.filter-table__avatar {
+  width: 25px;
+  height: 25px;
+  border-radius: 50%;
+}

+ 5 - 1
public/sass/components/_sidemenu.scss

@@ -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 {

+ 2 - 1
public/sass/components/_tabbed_view.scss

@@ -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;

+ 4 - 0
public/sass/components/_view_states.scss

@@ -46,6 +46,10 @@
     }
   }
 
+  .navbar {
+    box-shadow: none;
+  }
+
   .navbar-page-btn {
     border-color: transparent;
     background: transparent;

+ 2 - 1
public/sass/pages/_dashboard.scss

@@ -1,7 +1,8 @@
 .dashboard-container {
   padding: $dashboard-padding;
+  background: $dashboard-gradient;
   width: 100%;
-  background: $page-gradient;
+  min-height: 100%;
 }
 
 .template-variable {