diff --git a/pkg/api/dashboard.go b/pkg/api/dashboard.go index d525e1a31e5..bff88045cc2 100644 --- a/pkg/api/dashboard.go +++ b/pkg/api/dashboard.go @@ -120,16 +120,6 @@ func PostDashboard(c *middleware.Context, cmd m.SaveDashboardCommand) Response { cmd.UserId = c.UserId } - validateAlertsCmd := alerting.ValidateDashboardAlertsCommand{ - OrgId: c.OrgId, - UserId: c.UserId, - Dashboard: cmd.Result, - } - - if err := bus.Dispatch(&validateAlertsCmd); err != nil { - return ApiError(500, "Invalid alert data. Cannot save dashboard", err) - } - dash := cmd.GetDashboardModel() if dash.Id == 0 { limitReached, err := middleware.QuotaReached(c, "dashboard") @@ -141,6 +131,16 @@ func PostDashboard(c *middleware.Context, cmd m.SaveDashboardCommand) Response { } } + validateAlertsCmd := alerting.ValidateDashboardAlertsCommand{ + OrgId: c.OrgId, + UserId: c.UserId, + Dashboard: dash, + } + + if err := bus.Dispatch(&validateAlertsCmd); err != nil { + return ApiError(500, "Invalid alert data. Cannot save dashboard", err) + } + err := bus.Dispatch(&cmd) if err != nil { if err == m.ErrDashboardWithSameNameExists {