diff --git a/apps/pum/filters.py b/apps/pum/filters.py index 5f9697b4..77db874a 100644 --- a/apps/pum/filters.py +++ b/apps/pum/filters.py @@ -1,5 +1,6 @@ from django_filters import rest_framework as filters -from apps.pum.models import PuPlanItem, PuPlan +from apps.pum.models import PuPlanItem, PuPlan, PuOrder + class PuPlanFilter(filters.FilterSet): class Meta: @@ -8,6 +9,7 @@ class PuPlanFilter(filters.FilterSet): "state": ["exact", "in"] } + class PuPlanItemFilter(filters.FilterSet): class Meta: model = PuPlanItem @@ -17,4 +19,14 @@ class PuPlanItemFilter(filters.FilterSet): "pu_plan__state": ["exact", "in"], "pu_order": ["exact", 'isnull'], "pu_order__state": ["exact", "in"] - } \ No newline at end of file + } + + +class PuOrderFilter(filters.FilterSet): + class Meta: + model = PuOrder + fields = { + "supplier": ["exact"], + "delivery_date": ["exact", "gte", "lte"], + "state": ["exact", "in"], + } diff --git a/apps/pum/views.py b/apps/pum/views.py index e0304811..fb479e69 100644 --- a/apps/pum/views.py +++ b/apps/pum/views.py @@ -6,7 +6,7 @@ from apps.pum.serializers import (SupplierSerializer, PuPlanSerializer, PuPlanIt from rest_framework.exceptions import ParseError, PermissionDenied from rest_framework.decorators import action from rest_framework import serializers -from apps.pum.filters import PuPlanItemFilter +from apps.pum.filters import PuPlanItemFilter, PuOrderFilter from django.db import transaction from rest_framework.response import Response from django.utils import timezone @@ -96,7 +96,7 @@ class PuOrderViewSet(CustomModelViewSet): """ queryset = PuOrder.objects.all() serializer_class = PuOrderSerializer - filterset_fields = ['state', 'supplier'] + filterset_class = PuOrderFilter search_fields = ['number', 'supplier__name'] select_related_fields = ['create_by', 'update_by', 'supplier']