diff --git a/pkg/apis/monitor/alertpanel.go b/pkg/apis/monitor/alertpanel.go index b192451c77..0d2898c632 100644 --- a/pkg/apis/monitor/alertpanel.go +++ b/pkg/apis/monitor/alertpanel.go @@ -4,6 +4,7 @@ import "yunion.io/x/onecloud/pkg/apis" type AlertPanelCreateInput struct { apis.ScopedResourceInput + apis.ProjectizedResourceListInput CommonMetricInputQuery AlertCreateInput diff --git a/pkg/monitor/models/alertpannel.go b/pkg/monitor/models/alertpannel.go index 54c3365ab3..250e83d76f 100644 --- a/pkg/monitor/models/alertpannel.go +++ b/pkg/monitor/models/alertpannel.go @@ -158,14 +158,13 @@ func (panel *SAlertPanel) CustomizeCreate( query jsonutils.JSONObject, data jsonutils.JSONObject, ) error { - err := panel.SScopedResourceBase.CustomizeCreate(ctx, userCred, ownerId, query, data) - if err != nil { - return errors.Wrap(err, "alertPanel SScopedResourceBase CustomizeCreate error") - } dashboardId, err := data.GetString("dashboard_id") if len(dashboardId) == 0 { return errors.Wrap(err, "panel CustomizeCreate can not get dashboard_id") } + dash, _ := AlertDashBoardManager.getDashboardByid(dashboardId) + panel.ProjectId = dash.ProjectId + panel.DomainId = dash.DomainId return panel.attachDashboard(ctx, dashboardId) }