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
a6dc243f
Commit
a6dc243f
authored
Nov 06, 2017
by
attiyaishaque
Committed by
Attiya Ishaque
Nov 07, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
EDUCATOR-1673 Fix sorting on edX status and Last Handoff column.
parent
98802f72
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
0 deletions
+45
-0
course_discovery/apps/publisher/tests/test_views.py
+23
-0
course_discovery/apps/publisher/views.py
+22
-0
No files found.
course_discovery/apps/publisher/tests/test_views.py
View file @
a6dc243f
...
...
@@ -1909,6 +1909,29 @@ class CourseListViewPaginationTests(PaginationMixin, TestCase):
assert
course
[
'course_team_status'
]
==
''
assert
course
[
'internal_user_status'
]
==
''
@ddt.data
(
{
'column'
:
6
,
'direction'
:
'asc'
},
{
'column'
:
6
,
'direction'
:
'desc'
},
)
@ddt.unpack
def
test_ordering_with_internal_user_status
(
self
,
column
,
direction
):
"""
Verify that ordering by internal user status is working as expected.
"""
self
.
course_state
=
factories
.
CourseStateFactory
(
owner_role
=
PublisherUserRole
.
CourseTeam
)
self
.
course_state
.
marketing_reviewed
=
True
self
.
course_state
.
save
()
for
page
in
(
1
,
2
,
3
):
courses
=
self
.
get_courses
(
query_params
=
{
'sortColumn'
:
column
,
'sortDirection'
:
direction
,
'pageSize'
:
4
,
'page'
:
page
}
)
internal_users_statuses
=
[
course
[
'internal_user_status'
]
for
course
in
courses
]
self
.
assertEqual
(
sorted
(
internal_users_statuses
,
reverse
=
self
.
sort_directions
[
direction
]),
internal_users_statuses
)
class
CourseDetailViewTests
(
TestCase
):
""" Tests for the course detail view. """
...
...
course_discovery/apps/publisher/views.py
View file @
a6dc243f
...
...
@@ -865,6 +865,7 @@ class CourseListView(mixins.LoginRequiredMixin, ListView):
3
:
'course_runs_count'
,
4
:
'course_state__owner_role_modified'
,
5
:
'course_state__owner_role_modified'
,
7
:
'course_state__owner_role_modified'
,
}
try
:
...
...
@@ -887,6 +888,26 @@ class CourseListView(mixins.LoginRequiredMixin, ListView):
return
queryset
def
sort_internal_user_status
(
self
,
query_set
,
context
):
"""
Ordering by internal user status
Args:
query_set:
context:
"""
ordering_field_index
=
int
(
self
.
request
.
GET
.
get
(
'sortColumn'
,
0
))
ordering_direction
=
self
.
request
.
GET
.
get
(
'sortDirection'
,
'asc'
)
if
ordering_field_index
==
6
:
course_states
=
[
CourseState
.
ApprovedByMarketing
,
CourseState
.
AwaitingMarketingReview
,
CourseState
.
NotAvailable
]
if
ordering_direction
==
'asc'
:
context
[
'object_list'
]
=
sorted
(
query_set
,
key
=
lambda
state
:
course_states
.
index
(
str
(
state
.
course_state
.
internal_user_status
)))
else
:
context
[
'object_list'
]
=
sorted
(
query_set
,
key
=
lambda
state
:
course_states
.
index
(
str
(
state
.
course_state
.
internal_user_status
)),
reverse
=
True
)
def
filter_queryset
(
self
,
queryset
):
filter_text
=
self
.
request
.
GET
.
get
(
'searchText'
,
''
)
.
strip
()
...
...
@@ -984,6 +1005,7 @@ class CourseListView(mixins.LoginRequiredMixin, ListView):
self
.
object_list
=
self
.
get_queryset
()
context
=
self
.
get_context_data
()
context
[
'publisher_total_courses_count'
]
=
self
.
object_list
.
count
()
self
.
sort_internal_user_status
(
self
.
object_list
,
context
)
courses
=
serializers
.
CourseSerializer
(
context
[
'object_list'
],
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