permissions: refactor.

pull/15977/head
Leonard Gram 7 years ago
parent b796027bc6
commit 9f8e43916d
  1. 3
      pkg/api/dashboard.go
  2. 3
      pkg/api/folder.go
  3. 14
      pkg/services/dashboards/acl_service.go

@ -278,9 +278,8 @@ func (hs *HTTPServer) PostDashboard(c *m.ReqContext, cmd m.SaveDashboardCommand)
}
if hs.Cfg.EditorsCanAdmin && newDashboard {
aclService := dashboards.NewAclService()
inFolder := cmd.FolderId > 0
err := aclService.MakeUserAdmin(cmd.OrgId, cmd.UserId, dashboard.Id, !inFolder)
err := dashboards.MakeUserAdmin(cmd.OrgId, cmd.UserId, dashboard.Id, !inFolder)
if err != nil {
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)

@ -62,8 +62,7 @@ func (hs *HTTPServer) CreateFolder(c *m.ReqContext, cmd m.CreateFolderCommand) R
}
if hs.Cfg.EditorsCanAdmin {
aclService := dashboards.NewAclService()
if err := aclService.MakeUserAdmin(c.OrgId, c.SignedInUser.UserId, cmd.Result.Id, true); err != nil {
if err := dashboards.MakeUserAdmin(c.OrgId, c.SignedInUser.UserId, cmd.Result.Id, true); 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)
}

@ -2,23 +2,11 @@ package dashboards
import (
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/log"
"github.com/grafana/grafana/pkg/models"
"time"
)
// NewService factory for creating a new dashboard service
var NewAclService = func() *AclService {
return &AclService{
log: log.New("dashboard-acl-service"),
}
}
type AclService struct {
log log.Logger
}
func (as *AclService) MakeUserAdmin(orgId int64, userId int64, dashboardId int64, setViewAndEditPermissions bool) error {
func MakeUserAdmin(orgId int64, userId int64, dashboardId int64, setViewAndEditPermissions bool) error {
rtEditor := models.ROLE_EDITOR
rtViewer := models.ROLE_VIEWER

Loading…
Cancel
Save