alerting: delete alerts when parent folder is deleted

closes #13322
This commit is contained in:
bergquist
2018-11-05 14:24:08 +01:00
parent 0df14f3fa8
commit 423331dae0

View File

@@ -327,6 +327,24 @@ func DeleteDashboard(cmd *m.DeleteDashboardCommand) error {
if dashboard.IsFolder {
deletes = append(deletes, "DELETE FROM dashboard_provisioning WHERE dashboard_id in (select id from dashboard where folder_id = ?)")
deletes = append(deletes, "DELETE FROM dashboard WHERE folder_id = ?")
dashIds := []struct {
Id int64
}{}
err := sess.SQL("select id from dashboard where folder_id = ?", dashboard.Id).Find(&dashIds)
if err != nil {
return err
}
for _, id := range dashIds {
if err := deleteAlertDefinition(id.Id, sess); err != nil {
return nil
}
}
}
if err := deleteAlertDefinition(dashboard.Id, sess); err != nil {
return nil
}
for _, sql := range deletes {
@@ -337,10 +355,6 @@ func DeleteDashboard(cmd *m.DeleteDashboardCommand) error {
}
}
if err := deleteAlertDefinition(dashboard.Id, sess); err != nil {
return nil
}
return nil
})
}