forked from erp-dev/erp
feat: clean
This commit is contained in:
@@ -6,6 +6,8 @@ from rest_framework.decorators import action
|
||||
from rest_framework.response import Response
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
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
|
||||
|
||||
@@ -103,6 +105,7 @@ class BaseViewSet(BasicInfoFilterMixin, viewsets.ModelViewSet):
|
||||
raise PermissionDenied("无权限创建该对象")
|
||||
|
||||
|
||||
@method_decorator(cache_page(20), name='list')
|
||||
class QuickInputViewSet(BasicInfoFilterMixin, viewsets.ModelViewSet):
|
||||
queryset = serializers.basic_models.QuickInput.objects.all()
|
||||
serializer_class = serializers.QuickInputSerializer
|
||||
@@ -111,11 +114,8 @@ class QuickInputViewSet(BasicInfoFilterMixin, viewsets.ModelViewSet):
|
||||
def filter_queryset(self, queryset):
|
||||
qs = super().filter_queryset(queryset)
|
||||
group = self.request.query_params.get('group')
|
||||
name = self.request.query_params.get('name')
|
||||
if group:
|
||||
qs = qs.filter(group=group)
|
||||
if name:
|
||||
qs = qs.filter(name__icontains=name)
|
||||
return qs
|
||||
|
||||
@action(detail=False, methods=['get'], url_path='groups')
|
||||
@@ -161,7 +161,7 @@ class EmployeeTypeViewSet(BaseViewSet):
|
||||
serializer_class = serializers.EmployeeTypeSerializer
|
||||
|
||||
|
||||
class CustomerViewSet(BaseViewSet):
|
||||
class CustomerViewSet(BaseViewSet, BasicInfoFilterMixin):
|
||||
queryset = serializers.basic_models.Customer.objects
|
||||
serializer_class = serializers.CustomerSerializer
|
||||
permission_classes = [IsAuthenticated, DjangoModelPermissions]
|
||||
@@ -174,13 +174,6 @@ class CustomerViewSet(BaseViewSet):
|
||||
def can_view_all(self) -> bool:
|
||||
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):
|
||||
qs = super().get_queryset()
|
||||
# 应用可见性过滤
|
||||
|
||||
Reference in New Issue
Block a user