diff --git a/gvsds/apps/gerp/views/app.py b/gvsds/apps/gerp/views/app.py index 9122d470..b02dc0bc 100644 --- a/gvsds/apps/gerp/views/app.py +++ b/gvsds/apps/gerp/views/app.py @@ -221,7 +221,15 @@ class AppManageCompaniesView(ELTAuthenticatedAPIView): if app_uuid_str: row['Installed'] = 1 if install_map.get(c, 0) else 0 rows.append(row) - return Response({'code': 0, 'data': {'Scope': scope, 'Companies': rows}}) + # RAM 角色粒度授权候选:当前租户启用角色列表(安装弹窗选角色用) + roles = [] + tenant_bytes = _GetTenantBytes(request) + if tenant_bytes: + from gvsdsdk.models import Role as SdkRole + for r in SdkRole.objects.filter( + TenantUUID=tenant_bytes, RoleStatus=1).order_by('RoleName'): + roles.append({'RoleUUID': UUIDObj(r.RoleUUID).str, 'RoleName': r.RoleName}) + return Response({'code': 0, 'data': {'Scope': scope, 'Companies': rows, 'Roles': roles}}) class AppInstallView(ELTAuthenticatedAPIView):