@@ -127,7 +127,8 @@ def get_workspace_resource_permission_list_by_workspace_user_permission(
127127 ResourcePermissionRole .ROLE )):
128128 return [
129129 f"{ role_permission_mapping .permission_id } :/WORKSPACE/{ workspace_user_resource_permission .workspace_id } /{ workspace_user_resource_permission .auth_target_type } /{ workspace_user_resource_permission .target } "
130- for role_permission_mapping in role_permission_mapping_list ]
130+ for role_permission_mapping in role_permission_mapping_list ] + [
131+ f"{ workspace_user_resource_permission .auth_target_type } :/WORKSPACE/{ workspace_user_resource_permission .workspace_id } /{ workspace_user_resource_permission .auth_target_type } /{ workspace_user_resource_permission .target } " ]
131132
132133 elif workspace_user_resource_permission .auth_type == ResourceAuthType .RESOURCE_PERMISSION_GROUP :
133134 resource_permission_list = [
@@ -230,15 +231,15 @@ def reset_workspace_role(role_id, workspace_id, role_dict):
230231 if system_role == role_id :
231232 return role_id
232233 else :
233- return f"{ role_id } :/WORKSPACE/{ workspace_id } "
234+ return [ f"{ role_id } :/WORKSPACE/{ workspace_id } " , role_id ]
234235 else :
235236 r = role_dict .get (role_id )
236237 if r is None :
237238 return ''
238239 role_type = role_dict .get (role_id ).type
239240 if system_role == role_type :
240241 return RoleConstants .EXTENDS_ADMIN .value .name
241- return f"EXTENDS_{ role_type } :/WORKSPACE/{ workspace_id } "
242+ return [ f"EXTENDS_{ role_type } :/WORKSPACE/{ workspace_id } " , f"EXTENDS_ { role_type } " ]
242243
243244
244245def get_role_list (user ,
@@ -260,12 +261,13 @@ def get_role_list(user,
260261 workspace_user_role_mapping_list = QuerySet (workspace_user_role_mapping_model ).filter (user_id = user .id )
261262 role_list = QuerySet (role_model ).filter (id__in = [wurm .role_id for wurm in workspace_user_role_mapping_list ])
262263 role_dict = {r .id : r for r in role_list }
263- role_list = list (set ([reset_workspace_role (workspace_user_role_mapping .role_id ,
264- workspace_user_role_mapping .workspace_id ,
265- role_dict )
266- for
267- workspace_user_role_mapping in
268- workspace_user_role_mapping_list ]))
264+ role_list = list (
265+ set (reduce (lambda x , y : [* x , * y ], [reset_workspace_role (workspace_user_role_mapping .role_id ,
266+ workspace_user_role_mapping .workspace_id ,
267+ role_dict )
268+ for
269+ workspace_user_role_mapping in
270+ workspace_user_role_mapping_list ], [])))
269271 cache .set (key , workspace_list , version = version )
270272 return role_list
271273 else :
0 commit comments