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

dashboards: better error handling

Leonard Gram 6 лет назад
Родитель
Сommit
d593ffe3c1
2 измененных файлов с 6 добавлено и 2 удалено
  1. 2 1
      pkg/api/dashboard.go
  2. 4 1
      pkg/api/folder.go

+ 2 - 1
pkg/api/dashboard.go

@@ -281,7 +281,8 @@ func (hs *HTTPServer) PostDashboard(c *m.ReqContext, cmd m.SaveDashboardCommand)
 		aclService := dashboards.NewAclService()
 		aclService := dashboards.NewAclService()
 		err := aclService.MakeUserAdmin(cmd.OrgId, cmd.UserId, dashboard.Id)
 		err := aclService.MakeUserAdmin(cmd.OrgId, cmd.UserId, dashboard.Id)
 		if err != nil {
 		if err != nil {
-			hs.log.Error("Could not make user admin", "error", err)
+			hs.log.Error("Could not make user admin", "dashboard", cmd.Result.Title, "user", c.SignedInUser.UserId, "error", err)
+			return Error(500, "Failed to make user admin of dashboard", err)
 		}
 		}
 	}
 	}
 
 

+ 4 - 1
pkg/api/folder.go

@@ -63,7 +63,10 @@ func (hs *HTTPServer) CreateFolder(c *m.ReqContext, cmd m.CreateFolderCommand) R
 
 
 	if hs.Cfg.EditorsCanOwn {
 	if hs.Cfg.EditorsCanOwn {
 		aclService := dashboards.NewAclService()
 		aclService := dashboards.NewAclService()
-		aclService.MakeUserAdmin(c.OrgId, c.SignedInUser.UserId, cmd.Result.Id)
+		if err := aclService.MakeUserAdmin(c.OrgId, c.SignedInUser.UserId, cmd.Result.Id); err != nil {
+			hs.log.Error("Could not make user admin", "folder", cmd.Result.Title, "user", c.SignedInUser.UserId, "error", err)
+			return Error(500, "Failed to make user admin of folder", err)
+		}
 	}
 	}
 
 
 	g := guardian.New(cmd.Result.Id, c.OrgId, c.SignedInUser)
 	g := guardian.New(cmd.Result.Id, c.OrgId, c.SignedInUser)