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
e57e4e0c
Commit
e57e4e0c
authored
Jun 16, 2017
by
Harry Rein
Committed by
GitHub
Jun 16, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #15335 from edx/HarryRein/LEARNER-198
Only show 'Resume Course' button for enrolled users
parents
ceb126ef
d5ed3de3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
10 deletions
+32
-10
lms/djangoapps/courseware/tests/test_course_info.py
+24
-4
lms/djangoapps/courseware/views/views.py
+5
-3
lms/templates/courseware/info.html
+3
-3
No files found.
lms/djangoapps/courseware/tests/test_course_info.py
View file @
e57e4e0c
...
...
@@ -172,7 +172,16 @@ class CourseInfoLastAccessedTestCase(LoginEnrollmentTestCase, ModuleStoreTestCas
content
=
pq
(
response
.
content
)
self
.
assertEqual
(
content
(
'.page-header-secondary a'
)
.
length
,
0
)
def
test_last_accessed_shown
(
self
):
def
get_resume_course_url
(
self
,
course_info_url
):
"""
Retrieves course info page and returns the resume course url
or None if the button doesn't exist.
"""
info_page_response
=
self
.
client
.
get
(
course_info_url
)
content
=
pq
(
info_page_response
.
content
)
return
content
(
'.page-header-secondary .last-accessed-link'
)
.
attr
(
'href'
)
def
test_resume_course_visibility
(
self
):
SelfPacedConfiguration
(
enable_course_home_improvements
=
True
)
.
save
()
chapter
=
ItemFactory
.
create
(
category
=
"chapter"
,
parent_location
=
self
.
course
.
location
...
...
@@ -190,9 +199,20 @@ class CourseInfoLastAccessedTestCase(LoginEnrollmentTestCase, ModuleStoreTestCas
)
self
.
client
.
get
(
section_url
)
info_url
=
reverse
(
'info'
,
args
=
(
unicode
(
self
.
course
.
id
),))
info_page_response
=
self
.
client
.
get
(
info_url
)
content
=
pq
(
info_page_response
.
content
)
self
.
assertEqual
(
content
(
'.page-header-secondary .last-accessed-link'
)
.
attr
(
'href'
),
section_url
)
# Assuring a non-authenticated user cannot see the resume course button.
resume_course_url
=
self
.
get_resume_course_url
(
info_url
)
self
.
assertEqual
(
resume_course_url
,
None
)
# Assuring an unenrolled user cannot see the resume course button.
self
.
setup_user
()
resume_course_url
=
self
.
get_resume_course_url
(
info_url
)
self
.
assertEqual
(
resume_course_url
,
None
)
# Assuring an enrolled user can see the resume course button.
self
.
enroll
(
self
.
course
)
resume_course_url
=
self
.
get_resume_course_url
(
info_url
)
self
.
assertEqual
(
resume_course_url
,
section_url
)
@attr
(
shard
=
1
)
...
...
lms/djangoapps/courseware/views/views.py
View file @
e57e4e0c
...
...
@@ -289,7 +289,8 @@ def course_info(request, course_id):
masquerade
,
user
=
setup_masquerade
(
request
,
course_key
,
staff_access
,
reset_masquerade_data
=
True
)
# if user is not enrolled in a course then app will show enroll/get register link inside course info page.
show_enroll_banner
=
request
.
user
.
is_authenticated
()
and
not
CourseEnrollment
.
is_enrolled
(
user
,
course
.
id
)
user_is_enrolled
=
CourseEnrollment
.
is_enrolled
(
user
,
course
.
id
)
show_enroll_banner
=
request
.
user
.
is_authenticated
()
and
not
user_is_enrolled
if
show_enroll_banner
and
hasattr
(
course_key
,
'ccx'
):
# if course is CCX and user is not enrolled/registered then do not let him open course direct via link for
# self registration. Because only CCX coach can register/enroll a student. If un-enrolled user try
...
...
@@ -334,6 +335,7 @@ def course_info(request, course_id):
'supports_preview_menu'
:
True
,
'studio_url'
:
get_studio_url
(
course
,
'course_info'
),
'show_enroll_banner'
:
show_enroll_banner
,
'user_is_enrolled'
:
user_is_enrolled
,
'dates_fragment'
:
dates_fragment
,
'url_to_enroll'
:
url_to_enroll
,
# TODO: (Experimental Code). See https://openedx.atlassian.net/wiki/display/RET/2.+In-course+Verification+Prompts
...
...
@@ -343,9 +345,9 @@ def course_info(request, course_id):
}
# Get the URL of the user's last position in order to display the 'where you were last' message
context
[
'
last_accessed_coursewar
e_url'
]
=
None
context
[
'
resume_cours
e_url'
]
=
None
if
SelfPacedConfiguration
.
current
()
.
enable_course_home_improvements
:
context
[
'
last_accessed_coursewar
e_url'
]
=
get_last_accessed_courseware
(
course
,
request
,
user
)
context
[
'
resume_cours
e_url'
]
=
get_last_accessed_courseware
(
course
,
request
,
user
)
if
not
is_course_open_for_learner
(
user
,
course
):
# Disable student view button if user is staff and
...
...
lms/templates/courseware/info.html
View file @
e57e4e0c
...
...
@@ -28,7 +28,7 @@ from openedx.core.djangolib.markup import HTML, Text
<h2
class=
"title"
>
${_("You are not enrolled yet")}
</h2>
<div
class=
"copy"
>
<p
class=
'enroll-message'
>
${Text(_("You are not currently enrolled in this course. {link_start}
Sign up
now!{link_end}")).format(
${Text(_("You are not currently enrolled in this course. {link_start}
Enroll
now!{link_end}")).format(
link_start=HTML("
<a
href=
{}
>
").format(url_to_enroll),
link_end=HTML("
</a>
")
)}
...
...
@@ -69,9 +69,9 @@ from openedx.core.djangolib.markup import HTML, Text
<div
class=
"page-subtitle"
>
${course.display_name_with_default}
</div>
</h2>
</div>
% if
last_accessed_courseware_url
:
% if
resume_course_url and user_is_enrolled
:
<div
class=
"page-header-secondary"
>
<a
href=
"${
last_accessed_coursewar
e_url}"
class=
"last-accessed-link"
>
${_("Resume Course")}
</a>
<a
href=
"${
resume_cours
e_url}"
class=
"last-accessed-link"
>
${_("Resume Course")}
</a>
</div>
% endif
</div>
...
...
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