diff --git a/lms/djangoapps/courseware/tests/test_course_info.py b/lms/djangoapps/courseware/tests/test_course_info.py index 79f06d1f81..9a600413bc 100644 --- a/lms/djangoapps/courseware/tests/test_course_info.py +++ b/lms/djangoapps/courseware/tests/test_course_info.py @@ -3,6 +3,7 @@ Test the course_info xblock """ import mock from nose.plugins.attrib import attr +from pyquery import PyQuery as pq from urllib import urlencode from ccx_keys.locator import CCXLocator @@ -94,10 +95,15 @@ class CourseInfoTestCase(LoginEnrollmentTestCase, ModuleStoreTestCase): self.assertEqual(response.status_code, 404) def test_last_accessed_courseware_not_shown(self): + """ + Test that the last accessed courseware link is not shown if there + is no course content. + """ SelfPacedConfiguration(enable_course_home_improvements=True).save() url = reverse('info', args=(unicode(self.course.id),)) response = self.client.get(url) - self.assertNotIn('Jump back to where you were last:', response.content) + content = pq(response.content) + self.assertEqual(content('.page-header-secondary a').length, 0) def test_last_accessed_shown(self): SelfPacedConfiguration(enable_course_home_improvements=True).save() @@ -118,7 +124,8 @@ class CourseInfoTestCase(LoginEnrollmentTestCase, ModuleStoreTestCase): self.client.get(section_url) info_url = reverse('info', args=(unicode(self.course.id),)) info_page_response = self.client.get(info_url) - self.assertIn('Jump back to where you were last:', info_page_response.content) + content = pq(info_page_response.content) + self.assertEqual(content('.page-header-secondary .last-accessed-link').attr('href'), section_url) class CourseInfoTestCaseCCX(SharedModuleStoreTestCase, LoginEnrollmentTestCase): diff --git a/lms/djangoapps/courseware/views.py b/lms/djangoapps/courseware/views.py index 85473e46f1..11d69b9176 100644 --- a/lms/djangoapps/courseware/views.py +++ b/lms/djangoapps/courseware/views.py @@ -713,12 +713,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_courseware'] = None + context['last_accessed_courseware_url'] = None if SelfPacedConfiguration.current().enable_course_home_improvements: - (section_module, section_url) = get_last_accessed_courseware(course, request) - if section_module is not None and section_url is not None: - context['last_accessed_courseware'] = section_module - context['last_accessed_url'] = section_url + context['last_accessed_courseware_url'] = get_last_accessed_courseware(course, request) now = datetime.now(UTC()) effective_start = _adjust_start_date_for_beta_testers(user, course, course_key) @@ -732,8 +729,8 @@ def course_info(request, course_id): def get_last_accessed_courseware(course, request): """ - Return a pair of the last-accessed courseware for this request's - user, and a URL for that module. + Return the URL the courseware module that this request's user last + accessed, or None if it cannot be found. """ field_data_cache = FieldDataCache.cache_for_descriptor_descendents( course.id, request.user, course, depth=2 @@ -750,8 +747,8 @@ def get_last_accessed_courseware(course, request): 'chapter': chapter_module.url_name, 'section': section_module.url_name }) - return (section_module, url) - return (None, None) + return url + return None @ensure_csrf_cookie diff --git a/lms/static/sass/course/_info.scss b/lms/static/sass/course/_info.scss index dbf7cb8504..f20bfe4baa 100644 --- a/lms/static/sass/course/_info.scss +++ b/lms/static/sass/course/_info.scss @@ -23,20 +23,16 @@ } .page-header-secondary { + @include float(right); display: inline-block; - width: flex-grid(4, 12); - margin: 0; + margin: ($baseline/2); padding: ($baseline/2) ($baseline*0.75); - border: 1px solid $blue; - background-color: $homepage-background; - @extend %t-title8; - color: $blue-d1; - @extend %cont-truncated; - vertical-align: text-bottom; + background-color: $blue; + border-radius: 2px; - .last-accessed-message { - display: inline-block; - @include margin-left($baseline*0.75); + .last-accessed-link { + @extend %t-title6; + color: $very-light-text; } } } diff --git a/lms/templates/courseware/info.html b/lms/templates/courseware/info.html index 1e19b004e6..f2346c252e 100644 --- a/lms/templates/courseware/info.html +++ b/lms/templates/courseware/info.html @@ -54,11 +54,9 @@ from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration