From a6fc27acd69d9d3f2447ccc25750c23c45d10253 Mon Sep 17 00:00:00 2001
From: Victor Shnayder <victor@mitx.mit.edu>
Date: Tue, 19 Jun 2012 16:19:45 -0400
Subject: [PATCH] Fix accordion rendering bug

* needed to clean the chapter and section vars before rendering
---
 lms/djangoapps/courseware/views.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lms/djangoapps/courseware/views.py b/lms/djangoapps/courseware/views.py
index 7bc8b323ce2..3478c88d4bb 100644
--- a/lms/djangoapps/courseware/views.py
+++ b/lms/djangoapps/courseware/views.py
@@ -256,15 +256,13 @@ def index(request, course=None, chapter=None, section=None,
         {'content': module-error message}
         '''
         # Can't modify variables of outer scope, so need new ones
-        chapter_ = clean(chapter)
-        section_ = clean(section)
 
         user = request.user
         
-        module_xml = get_module_xml(user, course, chapter_, section_)
+        module_xml = get_module_xml(user, course, chapter, section)
         if module_xml is None:
             log.exception("couldn't get module_xml: course/chapter/section: '%s/%s/%s'",
-                          course, chapter_, section_)
+                          course, chapter, section)
             return {'content' : render_to_string("module-error.html", {})}
         
         student_module_cache = preload_student_modules(module_xml)
@@ -289,6 +287,9 @@ def index(request, course=None, chapter=None, section=None,
     # keep track of current course being viewed in django's request.session
     request.session['coursename'] = course
 
+    chapter = clean(chapter)
+    section = clean(section)
+
     context = {
         'csrf': csrf(request)['csrf_token'],
         'accordion': render_accordion(request, course, chapter, section),
-- 
GitLab