Skip to content
Snippets Groups Projects
Commit 0b03834f authored by Matthew Mongeau's avatar Matthew Mongeau
Browse files

XML based table of contents for books.

parent ebd0458d
No related branches found
No related tags found
No related merge requests found
......@@ -2,12 +2,14 @@ from django.contrib.auth.decorators import login_required
from mitxmako.shortcuts import render_to_response
from courseware.courses import check_course
from lxml import etree
@login_required
def index(request, course_id, page=0):
course = check_course(course_id)
return render_to_response('staticbook.html', {'page': int(page), 'course': course})
raw_table_of_contents = open('lms/templates/book_toc.xml', 'r') # TODO: This will need to come from S3
table_of_contents = etree.parse(raw_table_of_contents).getroot()
return render_to_response('staticbook.html', {'page': int(page), 'course': course, 'table_of_contents': table_of_contents})
def index_shifted(request, course_id, page):
......
This diff is collapsed.
This diff is collapsed.
......@@ -71,7 +71,24 @@ $("#open_close_accordion a").click(function(){
</header>
<ul id="booknav" class="treeview-booknav">
<%include file="book_toc.html" />
<%def name="print_entry(entry)">
<li>
<a href="javascript:goto_page(${entry.get('page')})">
${' '.join(entry.get(attribute, '') for attribute in ['chapter', 'name', 'page_label'])}
</a>
% if len(entry) > 0:
<ul>
% for child in entry:
${print_entry(child)}
% endfor
</ul>
% endif
</li>
</%def>
% for entry in table_of_contents:
${print_entry(entry)}
% endfor
</ul>
</section>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment