X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/cf52e60f9665dc878fc2b3ab9db17d981c52030b..6265b2c2ec2270e0102b21d72ac92821aceef4d4:/curriculum/templatetags/curriculum_tags.py diff --git a/curriculum/templatetags/curriculum_tags.py b/curriculum/templatetags/curriculum_tags.py index 00959ee..986271c 100755 --- a/curriculum/templatetags/curriculum_tags.py +++ b/curriculum/templatetags/curriculum_tags.py @@ -1,18 +1,19 @@ from django import template from django.utils.datastructures import SortedDict -from ..models import Competence, Curriculum +from ..models import Competence, Curriculum, CurriculumCourse register = template.Library() @register.inclusion_tag("curriculum/snippets/competence.html") -def competence(texts): +def competence(texts, level): try: comps = [Competence.from_text(text) for text in texts] except: return {'texts': texts} return { 'comps': comps, + 'level': level, } @register.inclusion_tag("curriculum/snippets/curriculum.html") @@ -41,7 +42,35 @@ def curriculum(identifiers): @register.filter def url_for_level(comp, level): try: - return comp.for_level(level).get_absolute_url() + return comp.url_for_level(level) except: return comp.get_absolute_url() + +@register.inclusion_tag("curriculum/snippets/course_box.html") +def course_box(course): + lessons = SortedDict() + for lesson in course.lesson_set.all(): + if lesson.level not in lessons: + newdict = SortedDict() + newdict['synthetic'] = [] + newdict['course'] = [] + lessons[lesson.level] = newdict + if lesson.type not in lessons[lesson.level]: + lessons[lesson.level][lesson.type] = [] + lessons[lesson.level][lesson.type].append(lesson) + return { + "course": course, + "lessons": lessons, + } + +@register.inclusion_tag("curriculum/snippets/course_boxes.html") +def course_boxes(): + return {'object_list': CurriculumCourse.objects.all()} + +@register.inclusion_tag("curriculum/snippets/course_boxes_toc.html") +def course_boxes_toc(accusative=False): + return { + 'object_list': CurriculumCourse.objects.all(), + 'accusative': accusative, + }