1
0
forked from erp-dev/erp

feat: clean

This commit is contained in:
2025-12-23 16:41:30 +08:00
parent 4d3f283e63
commit 053b749661

View File

@@ -6,6 +6,8 @@ from rest_framework.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
from django_filters.rest_framework import DjangoFilterBackend from django_filters.rest_framework import DjangoFilterBackend
from django_filters import rest_framework as dj_filters from django_filters import rest_framework as dj_filters
from django.views.decorators.cache import cache_page
from django.utils.decorators import method_decorator
from . import serializers from . import serializers
@@ -103,6 +105,7 @@ class BaseViewSet(BasicInfoFilterMixin, viewsets.ModelViewSet):
raise PermissionDenied("无权限创建该对象") raise PermissionDenied("无权限创建该对象")
@method_decorator(cache_page(20), name='list')
class QuickInputViewSet(BasicInfoFilterMixin, viewsets.ModelViewSet): class QuickInputViewSet(BasicInfoFilterMixin, viewsets.ModelViewSet):
queryset = serializers.basic_models.QuickInput.objects.all() queryset = serializers.basic_models.QuickInput.objects.all()
serializer_class = serializers.QuickInputSerializer serializer_class = serializers.QuickInputSerializer
@@ -111,11 +114,8 @@ class QuickInputViewSet(BasicInfoFilterMixin, viewsets.ModelViewSet):
def filter_queryset(self, queryset): def filter_queryset(self, queryset):
qs = super().filter_queryset(queryset) qs = super().filter_queryset(queryset)
group = self.request.query_params.get('group') group = self.request.query_params.get('group')
name = self.request.query_params.get('name')
if group: if group:
qs = qs.filter(group=group) qs = qs.filter(group=group)
if name:
qs = qs.filter(name__icontains=name)
return qs return qs
@action(detail=False, methods=['get'], url_path='groups') @action(detail=False, methods=['get'], url_path='groups')
@@ -161,7 +161,7 @@ class EmployeeTypeViewSet(BaseViewSet):
serializer_class = serializers.EmployeeTypeSerializer serializer_class = serializers.EmployeeTypeSerializer
class CustomerViewSet(BaseViewSet): class CustomerViewSet(BaseViewSet, BasicInfoFilterMixin):
queryset = serializers.basic_models.Customer.objects queryset = serializers.basic_models.Customer.objects
serializer_class = serializers.CustomerSerializer serializer_class = serializers.CustomerSerializer
permission_classes = [IsAuthenticated, DjangoModelPermissions] permission_classes = [IsAuthenticated, DjangoModelPermissions]
@@ -174,13 +174,6 @@ class CustomerViewSet(BaseViewSet):
def can_view_all(self) -> bool: def can_view_all(self) -> bool:
return self.request.user.is_superuser or self.request.user.has_perm('basic_info.view_all_customers') return self.request.user.is_superuser or self.request.user.has_perm('basic_info.view_all_customers')
def filter_queryset(self, queryset):
qs = super().filter_queryset(queryset)
name = self.request.query_params.get('name')
if name:
qs = qs.filter(name__icontains=name)
return qs
def get_queryset(self): def get_queryset(self):
qs = super().get_queryset() qs = super().get_queryset()
# 应用可见性过滤 # 应用可见性过滤