Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
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
edx-platform
Commits
111b7dff
Commit
111b7dff
authored
Apr 25, 2017
by
cahrens
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Don't return Credit as an EnrollmentTrack Group.
EDUCATOR-15
parent
3908512a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
7 deletions
+17
-7
openedx/core/djangoapps/verified_track_content/partition_scheme.py
+7
-3
openedx/core/djangoapps/verified_track_content/tests/test_partition_scheme.py
+10
-4
No files found.
openedx/core/djangoapps/verified_track_content/partition_scheme.py
View file @
111b7dff
...
...
@@ -30,7 +30,8 @@ class EnrollmentTrackUserPartition(UserPartition):
def
groups
(
self
):
"""
Return the groups (based on CourseModes) for the course associated with this
EnrollmentTrackUserPartition instance.
EnrollmentTrackUserPartition instance. Note that only groups based on selectable
CourseModes are returned (which means that Credit will never be returned).
If a course is using the Verified Track Cohorting pilot feature, this method
returns an empty array regardless of registered CourseModes.
...
...
@@ -42,7 +43,7 @@ class EnrollmentTrackUserPartition(UserPartition):
return
[
Group
(
ENROLLMENT_GROUP_IDS
[
mode
.
slug
],
unicode
(
mode
.
name
))
for
mode
in
CourseMode
.
modes_for_course
(
course_key
,
include_expired
=
True
,
only_selectable
=
False
)
for
mode
in
CourseMode
.
modes_for_course
(
course_key
,
include_expired
=
True
)
]
def
from_json
(
self
):
...
...
@@ -65,7 +66,8 @@ class EnrollmentTrackPartitionScheme(object):
def
get_group_for_user
(
cls
,
course_key
,
user
,
user_partition
,
**
kwargs
):
# pylint: disable=unused-argument
"""
Returns the Group from the specified user partition to which the user
is assigned, via enrollment mode.
is assigned, via enrollment mode. If a user is in a Credit mode, the Verified or
Professional mode for the course is returned instead.
If a course is using the Verified Track Cohorting pilot feature, this method
returns None regardless of the user's enrollment mode.
...
...
@@ -88,6 +90,8 @@ class EnrollmentTrackPartitionScheme(object):
mode_slug
,
modes
=
CourseMode
.
modes_for_course
(
course_key
,
include_expired
=
True
,
only_selectable
=
False
),
)
if
course_mode
and
CourseMode
.
is_credit_mode
(
course_mode
):
course_mode
=
CourseMode
.
verified_mode_for_course
(
course_key
)
if
not
course_mode
:
course_mode
=
CourseMode
.
DEFAULT_MODE
return
Group
(
ENROLLMENT_GROUP_IDS
[
course_mode
.
slug
],
unicode
(
course_mode
.
name
))
...
...
openedx/core/djangoapps/verified_track_content/tests/test_partition_scheme.py
View file @
111b7dff
...
...
@@ -43,15 +43,15 @@ class EnrollmentTrackUserPartitionTest(SharedModuleStoreTestCase):
self
.
course
,
CourseMode
.
VERIFIED
,
"Verified Enrollment Track"
,
min_price
=
1
,
expiration_datetime
=
datetime
.
now
(
pytz
.
UTC
)
+
timedelta
(
days
=-
1
)
)
# Note that the credit mode is not selectable-- this is intentional.
# Note that the credit mode is not selectable-- this is intentional so we
# can test that it is filtered out.
create_mode
(
self
.
course
,
CourseMode
.
CREDIT_MODE
,
"Credit Mode"
,
min_price
=
2
)
partition
=
create_enrollment_track_partition
(
self
.
course
)
groups
=
partition
.
groups
self
.
assertEqual
(
3
,
len
(
groups
))
self
.
assertEqual
(
2
,
len
(
groups
))
self
.
assertIsNotNone
(
self
.
get_group_by_name
(
partition
,
"Audit Enrollment Track"
))
self
.
assertIsNotNone
(
self
.
get_group_by_name
(
partition
,
"Verified Enrollment Track"
))
self
.
assertIsNotNone
(
self
.
get_group_by_name
(
partition
,
"Credit Mode"
))
def
test_to_json_supported
(
self
):
user_partition_json
=
create_enrollment_track_partition
(
self
.
course
)
.
to_json
()
...
...
@@ -138,7 +138,13 @@ class EnrollmentTrackPartitionSchemeTest(SharedModuleStoreTestCase):
def
test_enrolled_in_non_selectable
(
self
):
create_mode
(
self
.
course
,
CourseMode
.
CREDIT_MODE
,
"Credit Enrollment Track"
,
min_price
=
1
)
CourseEnrollment
.
enroll
(
self
.
student
,
self
.
course
.
id
,
mode
=
CourseMode
.
CREDIT_MODE
)
self
.
assertEqual
(
"Credit Enrollment Track"
,
self
.
_get_user_group
()
.
name
)
# The default mode is returned because Credit mode is filtered out, and no verified mode exists.
self
.
assertEqual
(
"Audit"
,
self
.
_get_user_group
()
.
name
)
# Now create a verified mode and check that it is returned for the learner enrolled in Credit.
create_mode
(
self
.
course
,
CourseMode
.
VERIFIED
,
"Verified Enrollment Track"
,
min_price
=
1
)
self
.
assertEqual
(
"Verified Enrollment Track"
,
self
.
_get_user_group
()
.
name
)
def
test_using_verified_track_cohort
(
self
):
VerifiedTrackCohortedCourse
.
objects
.
create
(
course_key
=
self
.
course
.
id
,
enabled
=
True
)
.
save
()
...
...
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