From 31216ccd9ff2eb51b398003b7ba4622a884af331 Mon Sep 17 00:00:00 2001 From: kimth Date: Fri, 24 Aug 2012 16:16:26 -0400 Subject: [PATCH 1/2] Do URL replacement in course info page --- lms/djangoapps/courseware/courses.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/courseware/courses.py b/lms/djangoapps/courseware/courses.py index e5ef915e25..5c24d033d5 100644 --- a/lms/djangoapps/courseware/courses.py +++ b/lms/djangoapps/courseware/courses.py @@ -133,8 +133,13 @@ def get_course_info_section(course, section_key): if section_key in ['handouts', 'guest_handouts', 'updates', 'guest_updates']: try: with course.system.resources_fs.open(path("info") / section_key + ".html") as htmlFile: - return replace_urls(htmlFile.read().decode('utf-8'), - course.metadata['data_dir']) + # Replace '/static/' urls + info_html = replace_urls(htmlFile.read().decode('utf-8'), course.metadata['data_dir']) + + # Replace '/course/' urls + course_root = '/courses/' + course.location.course_id + info_html = replace_urls(info_html, course_root, '/course/') + return info_html except ResourceNotFoundError: log.exception("Missing info section {key} in course {url}".format( key=section_key, url=course.location.url())) From 115eebdb76003661de63e76ada9c02145ea43f4f Mon Sep 17 00:00:00 2001 From: kimth Date: Fri, 24 Aug 2012 16:47:50 -0400 Subject: [PATCH 2/2] Use reverse for course_info url replacement --- lms/djangoapps/courseware/courses.py | 3 ++- lms/urls.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/courses.py b/lms/djangoapps/courseware/courses.py index 5c24d033d5..1c0b2203ca 100644 --- a/lms/djangoapps/courseware/courses.py +++ b/lms/djangoapps/courseware/courses.py @@ -5,6 +5,7 @@ import logging from path import path from django.conf import settings +from django.core.urlresolvers import reverse from django.http import Http404 from xmodule.course_module import CourseDescriptor @@ -137,7 +138,7 @@ def get_course_info_section(course, section_key): info_html = replace_urls(htmlFile.read().decode('utf-8'), course.metadata['data_dir']) # Replace '/course/' urls - course_root = '/courses/' + course.location.course_id + course_root = reverse('course_root', args=[course.id])[:-1] # Remove trailing slash info_html = replace_urls(info_html, course_root, '/course/') return info_html except ResourceNotFoundError: diff --git a/lms/urls.py b/lms/urls.py index 4e4eee4f43..86d654eb40 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -124,6 +124,8 @@ if settings.COURSEWARE_ENABLED: 'courseware.views.course_about', name="about_course"), #Inside the course + url(r'^courses/(?P[^/]+/[^/]+/[^/]+)/$', + 'courseware.views.course_info', name="course_root"), url(r'^courses/(?P[^/]+/[^/]+/[^/]+)/info$', 'courseware.views.course_info', name="info"), url(r'^courses/(?P[^/]+/[^/]+/[^/]+)/syllabus$',