views.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # coding=utf-8
  2. from utils.custom_modelviewset import CustomModelViewSet
  3. from django.db.models import Q
  4. from utils import response_ok, response_error
  5. from .models import Agent,Store
  6. from .serializers import AgentSerializer,StoreSerializer
  7. from utils.permission import permission_required, isLogin
  8. from rest_framework.views import APIView
  9. from apps.agent.serializers import AgentComboboxSerializer,StoreComboboxSerializer
  10. class AgentViewSet(CustomModelViewSet):
  11. permission_classes = []
  12. queryset = Agent.objects.filter()
  13. serializer_class = AgentSerializer
  14. class StoreViewSet(CustomModelViewSet):
  15. permission_classes = []
  16. queryset = Store.objects.filter()
  17. serializer_class = StoreSerializer
  18. class AgentDictView(APIView):
  19. permission_classes = [isLogin, ]
  20. def get(self, request):
  21. rows = Agent.objects.filter(Q(create_user=request.user) | Q(id=request.user.agent_id))
  22. agents = AgentComboboxSerializer(rows, many=True).data
  23. stores = []
  24. for row in rows:
  25. store = Store.objects.filter(agent=row, enable=True, end_date__gte=timezone.now().date())
  26. store_serializer = StoreComboboxSerializer(store, many=True).data
  27. stores.append(store_serializer)
  28. return response_ok({
  29. 'agents': agents,
  30. 'stores': stores,
  31. })