diff --git a/grafana b/grafana index 49b18e17d75..a5c8bbfe1f0 160000 --- a/grafana +++ b/grafana @@ -1 +1 @@ -Subproject commit 49b18e17d7574540cdbf8d208c968ea4db202954 +Subproject commit a5c8bbfe1f04830507d981dff5a44248ffeab04c diff --git a/pkg/stores/sqlstore/dashboards.go b/pkg/stores/sqlstore/dashboards.go index 6670da827d1..281690e8474 100644 --- a/pkg/stores/sqlstore/dashboards.go +++ b/pkg/stores/sqlstore/dashboards.go @@ -55,7 +55,9 @@ func GetDashboard(query *m.GetDashboardQuery) error { } func SearchDashboards(query *m.SearchDashboardsQuery) error { - sess := x.Limit(100, 0).Where("account_id=?", query.AccountId) + titleMatch := "%" + query.Query + "%" + + sess := x.Limit(100, 0).Where("account_id=? AND title LIKE ?", query.AccountId, titleMatch) sess.Table("Dashboard") query.Result = make([]*m.SearchResult, 0) diff --git a/pkg/stores/sqlstore/dashboards_test.go b/pkg/stores/sqlstore/dashboards_test.go index 272f4c6ae14..3aebd796a81 100644 --- a/pkg/stores/sqlstore/dashboards_test.go +++ b/pkg/stores/sqlstore/dashboards_test.go @@ -21,7 +21,7 @@ func TestDashboardDataAccess(t *testing.T) { Dashboard: map[string]interface{}{ "id": nil, "title": "test dash 23", - "tags": make([]interface{}, 0), + "tags": []interface{}{"prod", "webapp"}, }, } @@ -49,6 +49,18 @@ func TestDashboardDataAccess(t *testing.T) { So(query.Result.Slug, ShouldEqual, "test-dash-23") }) + Convey("Should be able to search for dashboard", func() { + query := m.SearchDashboardsQuery{ + Query: "%test%", + AccountId: 1, + } + + err := SearchDashboards(&query) + So(err, ShouldBeNil) + + So(len(query.Result), ShouldEqual, 1) + }) + Convey("Should not be able to save dashboard with same name", func() { cmd := m.SaveDashboardCommand{ AccountId: 1,