Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
course-discovery
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
course-discovery
Commits
b4cecf2a
Commit
b4cecf2a
authored
Jun 08, 2016
by
Tasawer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
removed expired course runs. ECOM-4446
parent
f771da48
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
2 deletions
+14
-2
course_discovery/apps/api/v1/tests/test_views/test_affiliate_window.py
+6
-1
course_discovery/apps/api/v1/views.py
+8
-1
No files found.
course_discovery/apps/api/v1/tests/test_views/test_affiliate_window.py
View file @
b4cecf2a
...
@@ -84,8 +84,13 @@ class AffiliateWindowViewSetTests(ElasticsearchTestMixin, SerializationMixin, AP
...
@@ -84,8 +84,13 @@ class AffiliateWindowViewSetTests(ElasticsearchTestMixin, SerializationMixin, AP
def
test_with_closed_enrollment
(
self
):
def
test_with_closed_enrollment
(
self
):
""" Verify that endpoint returns no data if enrollment is close. """
""" 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
()
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
)
response
=
self
.
client
.
get
(
self
.
affiliate_url
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
response
.
status_code
,
200
)
...
...
course_discovery/apps/api/v1/views.py
View file @
b4cecf2a
import
datetime
import
logging
import
logging
import
os
import
os
from
io
import
StringIO
from
io
import
StringIO
...
@@ -5,10 +6,12 @@ from io import StringIO
...
@@ -5,10 +6,12 @@ from io import StringIO
from
django.contrib.auth
import
get_user_model
from
django.contrib.auth
import
get_user_model
from
django.core.management
import
call_command
from
django.core.management
import
call_command
from
django.db
import
transaction
from
django.db
import
transaction
from
django.db.models
import
Q
from
django.db.models.functions
import
Lower
from
django.db.models.functions
import
Lower
from
django.shortcuts
import
get_object_or_404
from
django.shortcuts
import
get_object_or_404
from
dry_rest_permissions.generics
import
DRYPermissions
from
dry_rest_permissions.generics
import
DRYPermissions
from
edx_rest_framework_extensions.permissions
import
IsSuperuser
from
edx_rest_framework_extensions.permissions
import
IsSuperuser
import
pytz
from
rest_framework
import
status
,
viewsets
from
rest_framework
import
status
,
viewsets
from
rest_framework.decorators
import
detail_route
,
list_route
from
rest_framework.decorators
import
detail_route
,
list_route
from
rest_framework.exceptions
import
PermissionDenied
from
rest_framework.exceptions
import
PermissionDenied
...
@@ -304,8 +307,12 @@ class AffiliateWindowViewSet(viewsets.ViewSet):
...
@@ -304,8 +307,12 @@ class AffiliateWindowViewSet(viewsets.ViewSet):
raise
PermissionDenied
raise
PermissionDenied
courses
=
catalog
.
courses
()
.
active
()
courses
=
catalog
.
courses
()
.
active
()
seats
=
Seat
.
objects
.
filter
(
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
)
serializer
=
AffiliateWindowSerializer
(
seats
,
many
=
True
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment