From 4ecff714f7f7911243748c6b39c4de903402937c Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Sat, 29 Apr 2017 12:09:09 -0600 Subject: [PATCH 1/3] public studies are being shown in the user own studies --- qiita_pet/handlers/study_handlers/listing_handlers.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/qiita_pet/handlers/study_handlers/listing_handlers.py b/qiita_pet/handlers/study_handlers/listing_handlers.py index 2d10365c5..1e1f2b5b2 100644 --- a/qiita_pet/handlers/study_handlers/listing_handlers.py +++ b/qiita_pet/handlers/study_handlers/listing_handlers.py @@ -71,15 +71,16 @@ def _build_study_info(user, search_type, study_proc=None, proc_samples=None): build_samples = True # get list of studies for table + user_study_set = user.user_studies.union(user.shared_studies) if search_type == 'user': - user_study_set = user.user_studies.union(user.shared_studies) if user.level == 'admin': user_study_set = (user_study_set | Study.get_by_status('sandbox') | - Study.get_by_status('private')) - study_set = user_study_set - Study.get_by_status('public') + Study.get_by_status('private') - + Study.get_by_status('public')) + study_set = user_study_set elif search_type == 'public': - study_set = Study.get_by_status('public') + study_set = Study.get_by_status('public') - user_study_set else: raise ValueError('Not a valid search type') if study_proc is not None: From cde1294048822ae4e5e030eb05ef10eca890aff3 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Sat, 29 Apr 2017 13:15:09 -0600 Subject: [PATCH 2/3] fix #2069 - adding tests --- .../tests/test_listing_handlers.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/qiita_pet/handlers/study_handlers/tests/test_listing_handlers.py b/qiita_pet/handlers/study_handlers/tests/test_listing_handlers.py index 314efbb92..3e952b534 100644 --- a/qiita_pet/handlers/study_handlers/tests/test_listing_handlers.py +++ b/qiita_pet/handlers/study_handlers/tests/test_listing_handlers.py @@ -84,9 +84,37 @@ def setUp(self): self.exp = [self.single_exp] def test_build_study_info(self): + for a in Study(1).artifacts(): + a.visibility='private' + + obs = _build_study_info(User('test@foo.bar'), 'user') + self.assertEqual(obs, self.exp) + + obs = _build_study_info(User('test@foo.bar'), 'public') + self.assertEqual(obs, []) + + obs = _build_study_info(User('demo@microbio.me'), 'public') + self.assertEqual(obs, []) + + # make all the artifacts public - (1) the only study in the tests, + for a in Study(1).artifacts(): + a.visibility='public' + self.exp[0]['status'] = 'public' + obs = _build_study_info(User('test@foo.bar'), 'user') self.assertEqual(obs, self.exp) + obs = _build_study_info(User('test@foo.bar'), 'public') + self.assertEqual(obs, []) + + obs = _build_study_info(User('demo@microbio.me'), 'public') + self.assertEqual(obs, self.exp) + + # return to it's private status + for a in Study(1).artifacts(): + a.visibility='private' + + def test_build_study_info_erros(self): with self.assertRaises(IncompetentQiitaDeveloperError): _build_study_info(User('test@foo.bar'), 'user', study_proc={}) From 219f479b95a18bdb451d93e2650bc87b573888bc Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Sat, 29 Apr 2017 13:16:24 -0600 Subject: [PATCH 3/3] flake8 --- .../handlers/study_handlers/tests/test_listing_handlers.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/qiita_pet/handlers/study_handlers/tests/test_listing_handlers.py b/qiita_pet/handlers/study_handlers/tests/test_listing_handlers.py index 3e952b534..f411481c4 100644 --- a/qiita_pet/handlers/study_handlers/tests/test_listing_handlers.py +++ b/qiita_pet/handlers/study_handlers/tests/test_listing_handlers.py @@ -85,7 +85,7 @@ def setUp(self): def test_build_study_info(self): for a in Study(1).artifacts(): - a.visibility='private' + a.visibility = 'private' obs = _build_study_info(User('test@foo.bar'), 'user') self.assertEqual(obs, self.exp) @@ -98,7 +98,7 @@ def test_build_study_info(self): # make all the artifacts public - (1) the only study in the tests, for a in Study(1).artifacts(): - a.visibility='public' + a.visibility = 'public' self.exp[0]['status'] = 'public' obs = _build_study_info(User('test@foo.bar'), 'user') @@ -112,8 +112,7 @@ def test_build_study_info(self): # return to it's private status for a in Study(1).artifacts(): - a.visibility='private' - + a.visibility = 'private' def test_build_study_info_erros(self): with self.assertRaises(IncompetentQiitaDeveloperError):