|
|
@@ -57,7 +57,7 @@ func (dr *dashboardServiceImpl) GetProvisionedDashboardData(name string) ([]*mod
|
|
|
return cmd.Result, nil
|
|
|
}
|
|
|
|
|
|
-func (dr *dashboardServiceImpl) buildSaveDashboardCommand(dto *SaveDashboardDTO, validateAlerts bool) (*models.SaveDashboardCommand, error) {
|
|
|
+func (dr *dashboardServiceImpl) buildSaveDashboardCommand(dto *SaveDashboardDTO, validateAlerts bool, validateProvisionedDashboard bool) (*models.SaveDashboardCommand, error) {
|
|
|
dash := dto.Dashboard
|
|
|
|
|
|
dash.Title = strings.TrimSpace(dash.Title)
|
|
|
@@ -93,15 +93,17 @@ func (dr *dashboardServiceImpl) buildSaveDashboardCommand(dto *SaveDashboardDTO,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- isDashboardProvisioned := &models.IsDashboardProvisionedQuery{DashboardId: dash.Id}
|
|
|
- err := bus.Dispatch(isDashboardProvisioned)
|
|
|
+ if validateProvisionedDashboard {
|
|
|
+ isDashboardProvisioned := &models.IsDashboardProvisionedQuery{DashboardId: dash.Id}
|
|
|
+ err := bus.Dispatch(isDashboardProvisioned)
|
|
|
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
|
|
|
- if isDashboardProvisioned.Result {
|
|
|
- return nil, models.ErrDashboardCannotSaveProvisionedDashboard
|
|
|
+ if isDashboardProvisioned.Result {
|
|
|
+ return nil, models.ErrDashboardCannotSaveProvisionedDashboard
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
validateBeforeSaveCmd := models.ValidateDashboardBeforeSaveCommand{
|
|
|
@@ -159,7 +161,7 @@ func (dr *dashboardServiceImpl) SaveProvisionedDashboard(dto *SaveDashboardDTO,
|
|
|
UserId: 0,
|
|
|
OrgRole: models.ROLE_ADMIN,
|
|
|
}
|
|
|
- cmd, err := dr.buildSaveDashboardCommand(dto, true)
|
|
|
+ cmd, err := dr.buildSaveDashboardCommand(dto, true, false)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
@@ -189,7 +191,7 @@ func (dr *dashboardServiceImpl) SaveFolderForProvisionedDashboards(dto *SaveDash
|
|
|
UserId: 0,
|
|
|
OrgRole: models.ROLE_ADMIN,
|
|
|
}
|
|
|
- cmd, err := dr.buildSaveDashboardCommand(dto, false)
|
|
|
+ cmd, err := dr.buildSaveDashboardCommand(dto, false, false)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
@@ -208,7 +210,7 @@ func (dr *dashboardServiceImpl) SaveFolderForProvisionedDashboards(dto *SaveDash
|
|
|
}
|
|
|
|
|
|
func (dr *dashboardServiceImpl) SaveDashboard(dto *SaveDashboardDTO) (*models.Dashboard, error) {
|
|
|
- cmd, err := dr.buildSaveDashboardCommand(dto, true)
|
|
|
+ cmd, err := dr.buildSaveDashboardCommand(dto, true, true)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
@@ -227,7 +229,7 @@ func (dr *dashboardServiceImpl) SaveDashboard(dto *SaveDashboardDTO) (*models.Da
|
|
|
}
|
|
|
|
|
|
func (dr *dashboardServiceImpl) ImportDashboard(dto *SaveDashboardDTO) (*models.Dashboard, error) {
|
|
|
- cmd, err := dr.buildSaveDashboardCommand(dto, false)
|
|
|
+ cmd, err := dr.buildSaveDashboardCommand(dto, false, true)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|