This commit is contained in:
behruz-dev
2025-11-11 18:23:08 +05:00
parent c403e3921a
commit 109ab308f9
3 changed files with 8 additions and 5 deletions

View File

@@ -27,7 +27,7 @@ class OrderFilter(django_filters.FilterSet):
class Meta:
model = Order
fields = ['wherehouse', 'project', 'project_folder', 'date']
fields = ['wherehouse', 'project', 'project_folder', 'date', ]
def filter_by_project_and_folder(self, queryset, name, value):
project_ids = self.data.getlist('project')

View File

@@ -1,4 +1,5 @@
from django.db import transaction
from django.db.models import Q
from rest_framework import serializers
@@ -133,8 +134,9 @@ class OrderListForOfferSerializer(serializers.ModelSerializer):
def get_offers(self, obj):
status = self.context.get('status')
search = self.context.get('search')
if status:
offers = obj.offers.filter(status=status)
return OffersSerializer(offers, many=True).data
else:
return OffersSerializer(obj.offers, many=True).data
if search:
offers = obj.offers.filter(Q(number__istartswith=search) | Q(comment__istartswith=search))
return OffersSerializer(offers, many=True).data

View File

@@ -65,11 +65,12 @@ class DeletedOfferListApiView(generics.GenericAPIView):
def get(self, request):
offer_status = request.query_params.get('status', None)
search = request.query_params.get('q', None)
orders = self.filter_queryset(self.get_queryset())
page = self.paginate_queryset(orders)
if page is not None:
if offer_status:
serializer = self.serializer_class(page, many=True, context={'status': offer_status})
serializer = self.serializer_class(page, many=True, context={'status': offer_status, 'search': search})
else:
serializer = self.serializer_class(page, many=True)
return self.get_paginated_response(serializer.data)