mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
folders: admin for created folders
This commit is contained in:
parent
e294252e92
commit
e174f7c20b
@ -5,6 +5,7 @@ import (
|
|||||||
"github.com/grafana/grafana/pkg/models"
|
"github.com/grafana/grafana/pkg/models"
|
||||||
"github.com/grafana/grafana/pkg/services/guardian"
|
"github.com/grafana/grafana/pkg/services/guardian"
|
||||||
"github.com/grafana/grafana/pkg/services/search"
|
"github.com/grafana/grafana/pkg/services/search"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
// FolderService service for operating on folders
|
// FolderService service for operating on folders
|
||||||
@ -114,6 +115,45 @@ func (dr *dashboardServiceImpl) CreateFolder(cmd *models.CreateFolderCommand) er
|
|||||||
return toFolderError(err)
|
return toFolderError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rtEditor := models.ROLE_EDITOR
|
||||||
|
rtViewer := models.ROLE_VIEWER
|
||||||
|
|
||||||
|
items := []*models.DashboardAcl{
|
||||||
|
{
|
||||||
|
OrgId: dr.orgId,
|
||||||
|
DashboardId: saveDashboardCmd.Result.Id,
|
||||||
|
UserId: saveDashboardCmd.Result.CreatedBy,
|
||||||
|
Permission: models.PERMISSION_ADMIN,
|
||||||
|
Created: time.Now(),
|
||||||
|
Updated: time.Now(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OrgId: dr.orgId,
|
||||||
|
DashboardId: saveDashboardCmd.Result.Id,
|
||||||
|
Role: &rtEditor,
|
||||||
|
Permission: models.PERMISSION_EDIT,
|
||||||
|
Created: time.Now(),
|
||||||
|
Updated: time.Now(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
OrgId: dr.orgId,
|
||||||
|
DashboardId: saveDashboardCmd.Result.Id,
|
||||||
|
Role: &rtViewer,
|
||||||
|
Permission: models.PERMISSION_VIEW,
|
||||||
|
Created: time.Now(),
|
||||||
|
Updated: time.Now(),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
aclCmd := &models.UpdateDashboardAclCommand{
|
||||||
|
DashboardId: saveDashboardCmd.Result.Id,
|
||||||
|
Items: items,
|
||||||
|
}
|
||||||
|
|
||||||
|
if err = bus.Dispatch(aclCmd); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
query := models.GetDashboardQuery{OrgId: dr.orgId, Id: saveDashboardCmd.Result.Id}
|
query := models.GetDashboardQuery{OrgId: dr.orgId, Id: saveDashboardCmd.Result.Id}
|
||||||
dashFolder, err = getFolder(query)
|
dashFolder, err = getFolder(query)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user