From b80253cf98660ac5f6320ef47ba060b7fcbb7c1a Mon Sep 17 00:00:00 2001 From: mohsentaba Date: Sat, 30 May 2026 16:04:57 +0330 Subject: [PATCH] filterings available on time fields --- apps/blog/views_admin.py | 12 ++++++++++++ apps/certificate/views.py | 12 ++++++++++++ apps/course/views/admin.py | 16 ++++++++++++++++ apps/transaction/views.py | 12 ++++++++++++ 4 files changed, 52 insertions(+) diff --git a/apps/blog/views_admin.py b/apps/blog/views_admin.py index 58f8863..7a443a1 100644 --- a/apps/blog/views_admin.py +++ b/apps/blog/views_admin.py @@ -44,6 +44,18 @@ class AdminBlogViewSet(ModelViewSet): Q(slogan__icontains=search_query) ) + created_date = self.request.query_params.get('created', None) + if created_date: + queryset = queryset.filter(created_at__date=created_date) + + created_after = self.request.query_params.get('created_after', None) + if created_after: + queryset = queryset.filter(created_at__date__gte=created_after) + + created_before = self.request.query_params.get('created_before', None) + if created_before: + queryset = queryset.filter(created_at__date__lte=created_before) + return queryset.order_by('-created_at') class AdminBlogContentViewSet(ModelViewSet): diff --git a/apps/certificate/views.py b/apps/certificate/views.py index f4fdd6d..f8670bf 100644 --- a/apps/certificate/views.py +++ b/apps/certificate/views.py @@ -92,6 +92,18 @@ class AdminCertificateViewSet(ModelViewSet): if student_id: queryset = queryset.filter(student_id=student_id) + issued_date = self.request.query_params.get('issued_date', None) + if issued_date: + queryset = queryset.filter(created_at__date=issued_date) + + issued_after = self.request.query_params.get('issued_after', None) + if issued_after: + queryset = queryset.filter(created_at__date__gte=issued_after) + + issued_before = self.request.query_params.get('issued_before', None) + if issued_before: + queryset = queryset.filter(created_at__date__lte=issued_before) + return queryset.order_by('-created_at') \ No newline at end of file diff --git a/apps/course/views/admin.py b/apps/course/views/admin.py index ab280ff..c24c9a3 100644 --- a/apps/course/views/admin.py +++ b/apps/course/views/admin.py @@ -312,5 +312,21 @@ class AdminLiveSessionViewSet(viewsets.ModelViewSet): if course_id: queryset = queryset.filter(course_id=course_id) + started_after = self.request.query_params.get('started_after', None) + if started_after: + queryset = queryset.filter(started_at__gte=started_after) + + started_before = self.request.query_params.get('started_before', None) + if started_before: + queryset = queryset.filter(started_at__lte=started_before) + + ended_after = self.request.query_params.get('ended_after', None) + if ended_after: + queryset = queryset.filter(ended_at__gte=ended_after) + + ended_before = self.request.query_params.get('ended_before', None) + if ended_before: + queryset = queryset.filter(ended_at__lte=ended_before) + return queryset.order_by('-started_at') diff --git a/apps/transaction/views.py b/apps/transaction/views.py index aca004e..168a08c 100644 --- a/apps/transaction/views.py +++ b/apps/transaction/views.py @@ -461,5 +461,17 @@ class AdminTransactionViewSet(ModelViewSet): if payment_method: queryset = queryset.filter(payment_method=payment_method) + transaction_date = self.request.query_params.get('date', None) + if transaction_date: + queryset = queryset.filter(created_at__date=transaction_date) + + date_after = self.request.query_params.get('date_after', None) + if date_after: + queryset = queryset.filter(created_at__date__gte=date_after) + + date_before = self.request.query_params.get('date_before', None) + if date_before: + queryset = queryset.filter(created_at__date__lte=date_before) + return queryset.order_by('-created_at')