Skip to content

Commit 83e02ff

Browse files
authored
Merge pull request #4608 from gulyasgergely902/global-view-permission-fix
[fix] Add global view permission requirement for viewing products
2 parents ff0c03d + 2ae96b1 commit 83e02ff

2 files changed

Lines changed: 14 additions & 6 deletions

File tree

web/server/codechecker_server/api/product_server.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,12 @@ def __get_product(self, session, product):
123123

124124
args = {'config_db_session': session,
125125
'productID': product.id}
126-
product_access = permissions.require_permission(
126+
127+
has_product_permission = permissions.require_permission(
127128
permissions.PRODUCT_VIEW, args, self.__auth_session)
129+
has_global_permission = permissions.require_permission(
130+
permissions.PERMISSION_VIEW, args, self.__auth_session)
131+
has_access_permission = has_product_permission or has_global_permission
128132

129133
admin_perm_name = permissions.PRODUCT_ADMIN.name
130134
admins = session.query(ProductPermission). \
@@ -154,7 +158,7 @@ def __get_product(self, session, product):
154158
runCount=product.num_of_runs,
155159
latestStoreToProduct=latest_storage_date,
156160
connected=connected,
157-
accessible=product_access,
161+
accessible=has_access_permission,
158162
administrating=self.__administrating(args),
159163
databaseStatus=server_product.db_status,
160164
admins=[admin.name for admin in admins],
@@ -260,9 +264,10 @@ def getProductConfiguration(self, product_id):
260264
Get the product configuration --- WITHOUT THE DB PASSWORD --- of the
261265
given product.
262266
"""
263-
self.__require_permission([permissions.PRODUCT_VIEW], {
264-
'productID': product_id
265-
})
267+
self.__require_permission([
268+
permissions.PRODUCT_VIEW,
269+
permissions.PERMISSION_VIEW
270+
], {'productID': product_id})
266271

267272
with DBSession(self.__session) as session:
268273
product = session.query(Product).get(product_id)

web/server/codechecker_server/api/report_server.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1468,7 +1468,10 @@ def __require_store(self):
14681468
self.__require_permission([permissions.PRODUCT_STORE])
14691469

14701470
def __require_view(self):
1471-
self.__require_permission([permissions.PRODUCT_VIEW])
1471+
self.__require_permission([
1472+
permissions.PRODUCT_VIEW,
1473+
permissions.PERMISSION_VIEW
1474+
])
14721475

14731476
def __add_comment(self, bug_id, message, kind=CommentKindValue.USER,
14741477
date=None):

0 commit comments

Comments
 (0)