Commit 8a8f59d9 by Bridger Maxwell

Added optional <wiki> tag to course to specify an alternative wiki page.

parent 88bcf4f5
...@@ -60,6 +60,8 @@ class CourseDescriptor(SequenceDescriptor): ...@@ -60,6 +60,8 @@ class CourseDescriptor(SequenceDescriptor):
def __init__(self, system, definition=None, **kwargs): def __init__(self, system, definition=None, **kwargs):
super(CourseDescriptor, self).__init__(system, definition, **kwargs) super(CourseDescriptor, self).__init__(system, definition, **kwargs)
self.textbooks = self.definition['data']['textbooks'] self.textbooks = self.definition['data']['textbooks']
self.wiki_slug = self.definition['data']['wiki_slug'] or self.location.course
msg = None msg = None
if self.start is None: if self.start is None:
...@@ -94,8 +96,19 @@ class CourseDescriptor(SequenceDescriptor): ...@@ -94,8 +96,19 @@ class CourseDescriptor(SequenceDescriptor):
for textbook in xml_object.findall("textbook"): for textbook in xml_object.findall("textbook"):
textbooks.append(cls.Textbook.from_xml_object(textbook)) textbooks.append(cls.Textbook.from_xml_object(textbook))
xml_object.remove(textbook) xml_object.remove(textbook)
#Load the wiki tag if it exists
wiki_slug = None
wiki_tag = xml_object.find("wiki")
if wiki_tag is not None:
wiki_slug = wiki_tag.attrib.get("slug", default=None)
xml_object.remove(wiki_tag)
definition = super(CourseDescriptor, cls).definition_from_xml(xml_object, system) definition = super(CourseDescriptor, cls).definition_from_xml(xml_object, system)
definition.setdefault('data', {})['textbooks'] = textbooks definition.setdefault('data', {})['textbooks'] = textbooks
definition['data']['wiki_slug'] = wiki_slug
return definition return definition
def has_started(self): def has_started(self):
...@@ -206,10 +219,6 @@ class CourseDescriptor(SequenceDescriptor): ...@@ -206,10 +219,6 @@ class CourseDescriptor(SequenceDescriptor):
return self.location.course return self.location.course
@property @property
def wiki_slug(self):
return self.location.course
@property
def org(self): def org(self):
return self.location.org return self.location.org
...@@ -80,7 +80,7 @@ def course_wiki_redirect(request, course_id): ...@@ -80,7 +80,7 @@ def course_wiki_redirect(request, course_id):
urlpath = URLPath.create_article( urlpath = URLPath.create_article(
root, root,
course_slug, course_slug,
title=course.number, title=course_slug,
content="This is the wiki for **{0}**'s _{1}_.".format(course.org, course.title), content="This is the wiki for **{0}**'s _{1}_.".format(course.org, course.title),
user_message="Course page automatically created.", user_message="Course page automatically created.",
user=None, user=None,
......
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