feat(20240701_FieldPermission): 列权限管控

- 地区管理:增加列权限管控
- 登录日志:增加列权限管控
This commit is contained in:
李小涛
2024-07-01 15:47:34 +08:00
parent 3129c33adc
commit 438480b2f1
8 changed files with 47 additions and 17 deletions

View File

@@ -3,6 +3,7 @@ from django.db.models import Q
from rest_framework import serializers
from dvadmin.system.models import Area
from dvadmin.utils.field_permission import FieldPermissionMixin
from dvadmin.utils.json_response import SuccessResponse
from dvadmin.utils.serializers import CustomModelSerializer
from dvadmin.utils.viewset import CustomModelViewSet
@@ -14,13 +15,16 @@ class AreaSerializer(CustomModelSerializer):
"""
pcode_count = serializers.SerializerMethodField(read_only=True)
hasChild = serializers.SerializerMethodField()
def get_pcode_count(self, instance: Area):
return Area.objects.filter(pcode=instance).count()
def get_hasChild(self, instance):
hasChild = Area.objects.filter(pcode=instance.code)
if hasChild:
return True
return False
class Meta:
model = Area
fields = "__all__"
@@ -37,7 +41,7 @@ class AreaCreateUpdateSerializer(CustomModelSerializer):
fields = '__all__'
class AreaViewSet(CustomModelViewSet):
class AreaViewSet(CustomModelViewSet, FieldPermissionMixin):
"""
地区管理接口
list:查询
@@ -65,4 +69,3 @@ class AreaViewSet(CustomModelViewSet):
else:
queryset = self.queryset.filter(enable=True)
return queryset

View File

@@ -7,6 +7,7 @@
@Remark: 按钮权限管理
"""
from dvadmin.system.models import LoginLog
from dvadmin.utils.field_permission import FieldPermissionMixin
from dvadmin.utils.serializers import CustomModelSerializer
from dvadmin.utils.viewset import CustomModelViewSet
@@ -22,7 +23,7 @@ class LoginLogSerializer(CustomModelSerializer):
read_only_fields = ["id"]
class LoginLogViewSet(CustomModelViewSet):
class LoginLogViewSet(CustomModelViewSet, FieldPermissionMixin):
"""
登录日志接口
list:查询
@@ -33,4 +34,4 @@ class LoginLogViewSet(CustomModelViewSet):
"""
queryset = LoginLog.objects.all()
serializer_class = LoginLogSerializer
extra_filter_class = []
# extra_filter_class = []