Commit 6abd1ec6 by Calen Pennington

Merge pull request #309 from MITx/feature/tutorials_fix

Add optional hide_from_toc attribute to XML elements
parents aa855eec 72341569
...@@ -104,7 +104,8 @@ class HTMLSnippet(object): ...@@ -104,7 +104,8 @@ class HTMLSnippet(object):
""" """
Return the html used to display this snippet Return the html used to display this snippet
""" """
raise NotImplementedError("get_html() must be provided by specific modules") raise NotImplementedError("get_html() must be provided by specific modules - not present in {0}"
.format(self.__class__))
class XModule(HTMLSnippet): class XModule(HTMLSnippet):
......
...@@ -88,7 +88,7 @@ class XmlDescriptor(XModuleDescriptor): ...@@ -88,7 +88,7 @@ class XmlDescriptor(XModuleDescriptor):
# The attributes will be removed from the definition xml passed # The attributes will be removed from the definition xml passed
# to definition_from_xml, and from the xml returned by definition_to_xml # to definition_from_xml, and from the xml returned by definition_to_xml
metadata_attributes = ('format', 'graceperiod', 'showanswer', 'rerandomize', metadata_attributes = ('format', 'graceperiod', 'showanswer', 'rerandomize',
'start', 'due', 'graded', 'name', 'slug') 'start', 'due', 'graded', 'name', 'slug', 'hide_from_toc')
# A dictionary mapping xml attribute names to functions of the value # A dictionary mapping xml attribute names to functions of the value
# that return the metadata key and value # that return the metadata key and value
......
...@@ -56,11 +56,13 @@ def toc_for_course(user, request, course, active_chapter, active_section): ...@@ -56,11 +56,13 @@ def toc_for_course(user, request, course, active_chapter, active_section):
active = (chapter.metadata.get('display_name') == active_chapter and active = (chapter.metadata.get('display_name') == active_chapter and
section.metadata.get('display_name') == active_section) section.metadata.get('display_name') == active_section)
hide_from_toc = section.metadata.get('hide_from_toc', 'false').lower() == 'true'
sections.append({'name': section.metadata.get('display_name'), if not hide_from_toc:
'format': section.metadata.get('format', ''), sections.append({'name': section.metadata.get('display_name'),
'due': section.metadata.get('due', ''), 'format': section.metadata.get('format', ''),
'active': active}) 'due': section.metadata.get('due', ''),
'active': active})
chapters.append({'name': chapter.metadata.get('display_name'), chapters.append({'name': chapter.metadata.get('display_name'),
'sections': sections, 'sections': sections,
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<%def name="make_chapter(chapter)"> <%def name="make_chapter(chapter)">
<h3><a href="#">${chapter['name']}</a></h3> <h3><a href="#">${chapter['name']}</a></h3>
<ul> <ul>
% for section in chapter['sections']: % for section in chapter['sections']:
<li${' class="active"' if 'active' in section and section['active'] else ''}> <li${' class="active"' if 'active' in section and section['active'] else ''}>
<a href="${reverse('courseware_section', args=[course_id] + format_url_params([chapter['name'], section['name']]))}"> <a href="${reverse('courseware_section', args=[course_id] + format_url_params([chapter['name'], section['name']]))}">
<p>${section['name']} <p>${section['name']}
...@@ -12,11 +12,11 @@ ...@@ -12,11 +12,11 @@
${section['format']} ${"due " + section['due'] if 'due' in section and section['due'] != '' else ''} ${section['format']} ${"due " + section['due'] if 'due' in section and section['due'] != '' else ''}
</span> </span>
</p> </p>
</a> </a>
% endfor </li>
</ul> % endfor
</%def> </ul>
</%def>
% for chapter in toc: % for chapter in toc:
${make_chapter(chapter)} ${make_chapter(chapter)}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment