remove dashboard from playlist when its destroyed

This commit is contained in:
nikita-graf
2016-01-05 04:14:39 +03:00
parent be1fb13162
commit ee400df930
2 changed files with 28 additions and 8 deletions
+20
View File
@@ -220,6 +220,26 @@ func DeleteDashboard(cmd *m.DeleteDashboardCommand) error {
}
}
var playlists = make(m.Playlists, 0)
err = sess.Where("data LIKE ?", fmt.Sprintf("%%%v%%", dashboard.Id)).Find(&playlists)
if err != nil {
return err
}
for _, playlist := range playlists {
filteredData := make([]int64, 0)
for _, plDashboardId := range playlist.Data {
if plDashboardId != dashboard.Id {
filteredData = append(filteredData, plDashboardId)
}
}
playlist.Data = filteredData
_, err = sess.Id(playlist.Id).Cols("data").Update(playlist)
if err != nil {
return err
}
}
return nil
})
}