From a710d36790807be0d3d2a661fd824e8dd985a2af Mon Sep 17 00:00:00 2001 From: robert lawson Date: Fri, 21 Apr 2017 15:34:20 +0100 Subject: [PATCH 1/2] add option for pulling favourited dashboards by username add tests --- superset/views/core.py | 10 ++++++++++ tests/core_tests.py | 6 ++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/superset/views/core.py b/superset/views/core.py index 911d468e49153..fa87b0f3a7a20 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -1399,6 +1399,16 @@ def csrf_token(self): mimetype='text/json', ) + + @api + @has_access_api + @expose("/fave_dashboards_by_username//", methods=['GET']) + def fave_dashboards_by_username(self, username): + """This lets us use a user's username to pull favourite dashboards""" + user = sm.find_user(username=username) + return self.fave_dashboards(user.get_id()) + + @api @has_access_api @expose("/fave_dashboards//", methods=['GET']) diff --git a/tests/core_tests.py b/tests/core_tests.py index f9e6c8a964c4d..437511d6520f5 100644 --- a/tests/core_tests.py +++ b/tests/core_tests.py @@ -609,8 +609,8 @@ def test_fetch_datasource_metadata(self): for k in keys: self.assertIn(k, resp.keys()) - def test_user_profile(self): - self.login(username='admin') + def test_user_profile(self, username='admin'): + self.login(username=username) slc = self.get_slice("Girls", db.session) # Setting some faves @@ -641,6 +641,8 @@ def test_user_profile(self): self.assertNotIn('message', data) data = self.get_json_resp('/superset/fave_dashboards/{}/'.format(userid)) self.assertNotIn('message', data) + data = self.get_json_resp('/superset/fave_dashboards_by_username/{}/'.format(username)) + self.assertNotIn('message', data) if __name__ == '__main__': From e127e8198d96d3d22abfb7ca54065b9bcb682257 Mon Sep 17 00:00:00 2001 From: robert lawson Date: Mon, 24 Apr 2017 16:14:50 +0100 Subject: [PATCH 2/2] fix too many lines pep8 error --- superset/views/core.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/superset/views/core.py b/superset/views/core.py index fa87b0f3a7a20..b66bf3b8af6d1 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -1399,7 +1399,6 @@ def csrf_token(self): mimetype='text/json', ) - @api @has_access_api @expose("/fave_dashboards_by_username//", methods=['GET']) @@ -1408,7 +1407,6 @@ def fave_dashboards_by_username(self, username): user = sm.find_user(username=username) return self.fave_dashboards(user.get_id()) - @api @has_access_api @expose("/fave_dashboards//", methods=['GET'])