|
@@ -11,7 +11,7 @@ from utils.exceptions import CustomError
|
|
|
from .models import Agent,Store
|
|
|
from .serializers import AgentSerializer,StoreSerializer
|
|
|
from .filters import AgentFilter,StoreFilter
|
|
|
-from utils.permission import isLogin
|
|
|
+from utils.permission import isLogin, permission_required
|
|
|
from apps.agent.serializers import AgentComboboxSerializer,StoreComboboxSerializer
|
|
|
|
|
|
class AgentViewSet(CustomModelViewSet):
|
|
@@ -19,16 +19,19 @@ class AgentViewSet(CustomModelViewSet):
|
|
|
queryset = Agent.objects.filter()
|
|
|
serializer_class = AgentSerializer
|
|
|
|
|
|
+ @permission_required('agent.view_agent')
|
|
|
def filter_queryset(self, queryset):
|
|
|
queryset = queryset.filter()
|
|
|
f = AgentFilter(self.request.GET, queryset=queryset)
|
|
|
return f.qs
|
|
|
|
|
|
+ @permission_required('agent.add_agent')
|
|
|
def perform_create(self, serializer):
|
|
|
super(AgentViewSet, self).perform_create(serializer)
|
|
|
instance = serializer.instance
|
|
|
validated_data = serializer.validated_data
|
|
|
|
|
|
+ @permission_required('agent.delete_agent')
|
|
|
def destroy(self, request, *args, **kwargs):
|
|
|
instance = self.get_object()
|
|
|
super(AgentViewSet, self).perform_destroy(instance)
|
|
@@ -39,21 +42,25 @@ class StoreViewSet(CustomModelViewSet):
|
|
|
queryset = Store.objects.filter()
|
|
|
serializer_class = StoreSerializer
|
|
|
|
|
|
+ @permission_required('agent.view_store')
|
|
|
def filter_queryset(self, queryset):
|
|
|
queryset = queryset.filter()
|
|
|
f = StoreFilter(self.request.GET, queryset=queryset)
|
|
|
return f.qs
|
|
|
|
|
|
+ @permission_required('agent.add_store')
|
|
|
def perform_create(self, serializer):
|
|
|
super(StoreViewSet, self).perform_create(serializer)
|
|
|
instance = serializer.instance
|
|
|
validated_data = serializer.validated_data
|
|
|
|
|
|
+ @permission_required('agent.delete_store')
|
|
|
def destroy(self, request, *args, **kwargs):
|
|
|
instance = self.get_object()
|
|
|
super(StoreViewSet, self).perform_destroy(instance)
|
|
|
return response_ok()
|
|
|
|
|
|
+ @permission_required('agent.check_store')
|
|
|
@action(methods=['post'], detail=True)
|
|
|
def check(self, request, pk):
|
|
|
# 审核
|