fdgg
This commit is contained in:
@@ -105,7 +105,7 @@ class Schedule(models.Model):
|
||||
|
||||
class role(models.Model):
|
||||
RoleName = models.CharField(max_length=100) # 角色名称
|
||||
permissionId = models.CharField(max_length=100) # 权限
|
||||
permissionId = models.CharField(max_length=1000) # 权限
|
||||
remark = models.CharField(max_length=200) # 备注
|
||||
|
||||
|
||||
|
||||
@@ -1927,7 +1927,11 @@ class modifypermissions(APIView):
|
||||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||||
permissionId = ast.literal_eval(permissionId)
|
||||
ro = role.objects.get(id=id)
|
||||
ro.permissionId = permissionId
|
||||
# Convert list to compact comma-separated string format to save space
|
||||
if isinstance(permissionId, list):
|
||||
ro.permissionId = ','.join(map(str, permissionId))
|
||||
else:
|
||||
ro.permissionId = str(permissionId)
|
||||
ro.save(update_fields=['permissionId'])
|
||||
|
||||
return Response({'message': '权限修改成功', 'code': 0}, status=status.HTTP_200_OK)
|
||||
@@ -1954,10 +1958,14 @@ class getRolePermissions(APIView):
|
||||
# 解析权限ID列表
|
||||
try:
|
||||
if ro.permissionId:
|
||||
permission_ids = ast.literal_eval(ro.permissionId)
|
||||
# 确保返回的是列表
|
||||
if not isinstance(permission_ids, list):
|
||||
permission_ids = []
|
||||
# Try to parse as comma-separated format first (new format)
|
||||
if ',' in ro.permissionId and not ro.permissionId.strip().startswith('['):
|
||||
permission_ids = [int(x.strip()) for x in ro.permissionId.split(',') if x.strip()]
|
||||
else:
|
||||
# Fall back to ast.literal_eval for backward compatibility
|
||||
permission_ids = ast.literal_eval(ro.permissionId)
|
||||
if not isinstance(permission_ids, list):
|
||||
permission_ids = []
|
||||
else:
|
||||
permission_ids = []
|
||||
except (ValueError, SyntaxError):
|
||||
|
||||
Reference in New Issue
Block a user