1.菜单和按钮基本授权完成;
2. todo: a.按钮数据权限; b.字段权限
This commit is contained in:
@@ -79,6 +79,28 @@ class MenuPermissionSerializer(CustomModelSerializer):
|
||||
fields = ['id', 'parent', 'name', 'menuPermission']
|
||||
|
||||
|
||||
class MenuButtonPermissionSerializer(CustomModelSerializer):
|
||||
"""
|
||||
菜单和按钮权限
|
||||
"""
|
||||
isCheck = serializers.SerializerMethodField()
|
||||
|
||||
def get_isCheck(self, instance):
|
||||
is_superuser = self.request.user.is_superuser
|
||||
if is_superuser:
|
||||
return True
|
||||
else:
|
||||
return MenuButton.objects.filter(
|
||||
menu__id=instance.id,
|
||||
role__id__in=self.request.user.role.values_list('id', flat=True),
|
||||
).exists()
|
||||
|
||||
class Meta:
|
||||
model = Menu
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
|
||||
class RoleViewSet(CustomModelViewSet, FastCrudMixin):
|
||||
"""
|
||||
角色管理接口
|
||||
|
||||
Reference in New Issue
Block a user