Commit 98b41bb0 by Tasawer Nawaz Committed by GitHub

Merge pull request #124 from…

Merge pull request #124 from edx/tasawer/bugfix/ecom-4446-remove-old-products-from-ffiliate-indow-feed

Remove old products from afiliate window feed
parents f771da48 b4cecf2a
......@@ -84,8 +84,13 @@ class AffiliateWindowViewSetTests(ElasticsearchTestMixin, SerializationMixin, AP
def test_with_closed_enrollment(self):
""" Verify that endpoint returns no data if enrollment is close. """
self.course_run.enrollment_end = datetime.datetime.now(pytz.UTC) + datetime.timedelta(days=-100)
self.course_run.enrollment_end = datetime.datetime.now(pytz.UTC) - datetime.timedelta(days=100)
self.course_run.end = datetime.datetime.now(pytz.UTC) - datetime.timedelta(days=100)
self.course_run.save()
# new course run with future end date and no enrollment_date.
CourseRunFactory(end=self.course_end, course=self.course, enrollment_end=None)
response = self.client.get(self.affiliate_url)
self.assertEqual(response.status_code, 200)
......
import datetime
import logging
import os
from io import StringIO
......@@ -5,10 +6,12 @@ from io import StringIO
from django.contrib.auth import get_user_model
from django.core.management import call_command
from django.db import transaction
from django.db.models import Q
from django.db.models.functions import Lower
from django.shortcuts import get_object_or_404
from dry_rest_permissions.generics import DRYPermissions
from edx_rest_framework_extensions.permissions import IsSuperuser
import pytz
from rest_framework import status, viewsets
from rest_framework.decorators import detail_route, list_route
from rest_framework.exceptions import PermissionDenied
......@@ -304,8 +307,12 @@ class AffiliateWindowViewSet(viewsets.ViewSet):
raise PermissionDenied
courses = catalog.courses().active()
seats = Seat.objects.filter(
course_run__course__in=courses, type__in=[Seat.VERIFIED, Seat.PROFESSIONAL]
(Q(course_run__end__gte=datetime.datetime.now(pytz.UTC)) | Q(course_run__end__isnull=True)) &
Q(course_run__course__in=courses) & Q(type__in=[Seat.VERIFIED, Seat.PROFESSIONAL]) &
(Q(course_run__enrollment_end__isnull=True) |
Q(course_run__enrollment_end__gte=datetime.datetime.now(pytz.UTC)))
)
serializer = AffiliateWindowSerializer(seats, many=True)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment