From: grakiss Date: Wed, 8 Nov 2017 07:58:34 +0000 (+0000) Subject: [cvp-web] Bugfix: Results shared by email are not shown on non-reviewer's pages X-Git-Tag: ovp.0.9.0~40 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F43%2F46843%2F4;p=dovetail.git [cvp-web] Bugfix: Results shared by email are not shown on non-reviewer's pages JIRA: DOVETAIL-551 The CVP web portal can support share with name and share with email address. But when sharing with email, the pages of non-reviewers will not show the results shared by others. Change-Id: I94451448cc60d1f7a3472d756c502200757a16a8 Signed-off-by: grakiss --- diff --git a/cvp/opnfv_testapi/resources/handlers.py b/cvp/opnfv_testapi/resources/handlers.py index 51092b94..9b156e17 100644 --- a/cvp/opnfv_testapi/resources/handlers.py +++ b/cvp/opnfv_testapi/resources/handlers.py @@ -81,18 +81,22 @@ class GenericApiHandler(web.RequestHandler): role = self.get_secure_cookie(auth_const.ROLE) logging.info('role:%s', role) if role: + query['$or'] = [ + { + "shared": { + "$elemMatch": {"$eq": openid} + } + }, + {"owner": openid}, + { + "shared": { + "$elemMatch": {"$eq": user.get("email")} + } + } + ] + if role.find("reviewer") != -1: - query['$or'] = [{"shared": - {"$elemMatch": {"$eq": openid}}}, - {"owner": openid}, - {"shared": {"$elemMatch": - {"$eq": - user.get("email")}}}, - {"status": {"$ne": "private"}}] - else: - query['$or'] = [{"shared": - {"$elemMatch": {"$eq": openid}} - }, {"owner": openid}] + query['$or'].append({"status": {"$ne": "private"}}) elif k not in ['last', 'page', 'descend', 'per_page']: query[k] = v if date_range: