diff --git a/lms/djangoapps/courseware/tests/test_views.py b/lms/djangoapps/courseware/tests/test_views.py index 04254c8da0..fd949de385 100644 --- a/lms/djangoapps/courseware/tests/test_views.py +++ b/lms/djangoapps/courseware/tests/test_views.py @@ -1446,6 +1446,22 @@ class ProgressPageTests(ModuleStoreTestCase): self.assertContains(resp, u'Download Your Certificate') self.assert_invalidate_certificate(generated_certificate) + def test_message_for_audit_mode(self): + """ Verify that message appears on progress page, if learner is enrolled + in audit mode. + """ + user = UserFactory.create() + self.assertTrue(self.client.login(username=user.username, password='test')) + CourseEnrollmentFactory(user=user, course_id=self.course.id, mode=CourseMode.AUDIT) + response = self.client.get( + reverse('progress', args=[unicode(self.course.id)]) + ) + + self.assertContains( + response, + u'You are enrolled in the audit track for this course. The audit track does not include a certificate.' + ) + def assert_invalidate_certificate(self, certificate): """ Dry method to mark certificate as invalid. And assert the response. """ CertificateInvalidationFactory.create( diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index caa65ee010..fc6778f11b 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -753,6 +753,7 @@ def _progress(request, course_key, student_id): 'credit_course_requirements': _credit_course_requirements(course_key, student), 'missing_required_verification': missing_required_verification, 'certificate_invalidated': False, + 'enrollment_mode': enrollment_mode, } if show_generate_cert_btn: diff --git a/lms/templates/courseware/progress.html b/lms/templates/courseware/progress.html index 60977e2607..3d4250497a 100644 --- a/lms/templates/courseware/progress.html +++ b/lms/templates/courseware/progress.html @@ -2,6 +2,7 @@ <%namespace name='static' file='/static_content.html'/> <%def name="online_help_token()"><% return "progress" %> <%! +from course_modes.models import CourseMode from django.utils.translation import ugettext as _ from django.core.urlresolvers import reverse from util.date_utils import get_time_display, DEFAULT_SHORT_DATE_FORMAT @@ -47,9 +48,15 @@ from django.utils.http import urlquote_plus

${_("Course Progress for Student '{username}' ({email})").format(username=student.username, email=student.email) | h}

- - %if show_generate_cert_btn: -
+
+ %if enrollment_mode == CourseMode.AUDIT: +
+
+

${_("Your enrollment: Audit track")}

+

${_("You are enrolled in the audit track for this course. The audit track does not include a certificate.")}

+
+
+ %elif show_generate_cert_btn:
%if passed:
@@ -105,8 +112,9 @@ from django.utils.http import urlquote_plus
%endif -
%endif + + %if not course.disable_progress_graph: