add option for pulling favourited dashboards by username (#2661)

* add option for pulling favourited dashboards by username

add tests

* fix too many lines pep8 error
This commit is contained in:
robert-digit 2017-04-25 04:48:25 +01:00 committed by Maxime Beauchemin
parent e9ed416654
commit 1df37e6e4d
2 changed files with 12 additions and 2 deletions

View File

@ -1399,6 +1399,14 @@ class Superset(BaseSupersetView):
mimetype='text/json',
)
@api
@has_access_api
@expose("/fave_dashboards_by_username/<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/<user_id>/", methods=['GET'])

View File

@ -609,8 +609,8 @@ class CoreTests(SupersetTestCase):
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 @@ class CoreTests(SupersetTestCase):
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__':