+@register.inclusion_tag("catalogue/snippets/lesson_nav.html")
+def lesson_nav(lesson):
+ if lesson.type == 'course':
+ root = lesson.section
+ siblings = Lesson.objects.filter(type='course', level=lesson.level, section=root)
+ mark_level = False
+ link_other_level = True
+ else:
+ root = None
+ siblings = Lesson.objects.filter(type=lesson.type)
+ mark_level = link_other_level = lesson.type == 'course'
+ return {
+ "lesson": lesson,
+ "root": root,
+ "siblings": siblings,
+ "mark_level": mark_level
+ }
+
+@register.inclusion_tag("catalogue/snippets/lesson_link.html")
+def lesson_link(uri):
+ try:
+ return {'lesson': Lesson.objects.get(slug=WLURI(uri).slug)}
+ except Lesson.DoesNotExist:
+ return {}
+
+@register.filter
+def person_list(persons):
+ return u", ".join(Person.from_text(p).readable() for p in persons)
+