diff --git a/merchant_ops/views_manage.py b/merchant_ops/views_manage.py index e69098e..4a41239 100644 --- a/merchant_ops/views_manage.py +++ b/merchant_ops/views_manage.py @@ -299,6 +299,8 @@ class StaffRoleListView(APIView): def post(self, request): try: from merchant_ops.constants import PERMISSION_DEFINITIONS, SYSTEM_ROLE_TEMPLATES + from merchant_ops.services.bootstrap import seed_global_permissions + seed_global_permissions() if is_merchant_owner(request.user): mid = request.user.UserUID ensure_owner_merchant(mid, request.user) @@ -320,6 +322,8 @@ class StaffRoleListView(APIView): }) all_perms = list(MerchantStaffPermission.query.filter(status=1).order_by('sort_order').values( 'perm_code', 'perm_name')) + if not all_perms: + all_perms = [{'perm_code': c, 'perm_name': n} for c, n in PERMISSION_DEFINITIONS] return Response({'code': 0, 'msg': '成功', 'data': {'roles': data, 'all_permissions': all_perms}}) except Exception as e: return _err(e)