From ed540ae95fad6997b1d0107b56af1614b7a74ced Mon Sep 17 00:00:00 2001 From: Dominik George <nik@naturalnet.de> Date: Wed, 21 Aug 2019 14:53:48 +0200 Subject: [PATCH] Use and highlight substitute lessons in timetables, advances #7. --- biscuit/apps/chronos/models.py | 21 +++++++++++++++++++ .../chronos/templates/chronos/tt_lesson.html | 16 +++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/biscuit/apps/chronos/models.py b/biscuit/apps/chronos/models.py index 8ebf484e..436c27d8 100644 --- a/biscuit/apps/chronos/models.py +++ b/biscuit/apps/chronos/models.py @@ -85,6 +85,27 @@ class LessonPeriod(models.Model): substitution = models.OneToOneField('LessonSubstitution', models.CASCADE, 'lesson_period', null=True) + def get_subject(self): + if self.substitution: + return self.substitution.subject + else: + return self.lesson.subject + + def get_teachers(self): + if self.substitution: + return self.substitution.teachers + else: + return self.lesson.teachers + + def get_room(self): + if self.substitution: + return self.substitution.room + else: + return self.room + + def get_groups(self): + return self.lesson.groups + class LessonSubstitution(models.Model): subject = models.ForeignKey( diff --git a/biscuit/apps/chronos/templates/chronos/tt_lesson.html b/biscuit/apps/chronos/templates/chronos/tt_lesson.html index 9993ee75..347031d0 100644 --- a/biscuit/apps/chronos/templates/chronos/tt_lesson.html +++ b/biscuit/apps/chronos/templates/chronos/tt_lesson.html @@ -1,4 +1,8 @@ -<div class="card chronos-lesson" +<div class="card chronos-lesson + {% if lesson_period.substitution %} + border border-warning + {% endif %} + " style=" {% if lesson_period.lesson.subject.colour_fg %} color: {{ lesson_period.lesson.subject.colour_fg }}; @@ -10,17 +14,19 @@ <div class="card-body"> <div class="row"> <div class="col-sm"> - <span class="card-title">{{ lesson_period.lesson.subject.abbrev }}</span> + <span class="card-title"> + {{ lesson_period.get_subject.abbrev }} + </span> </div> </div> <div class="row"> <div class="col-sm"> - {% for group in lesson_period.lesson.groups.all %} + {% for group in lesson_period.get_groups.all %} <span class="card-text">{{ group.short_name }}</span> {% endfor %} </div> <div class="col-sm"> - {% for teacher in lesson_period.lesson.teachers.all %} + {% for teacher in lesson_period.get_teachers.all %} <a href="{% url 'person_by_id' teacher.id %}" title="{{ teacher.first_name }} {{ teacher.last_name }}" class="card-text" @@ -30,7 +36,7 @@ {% endfor %} </div> <div class="col-sm"> - <span class="card-text">{{ lesson_period.room.short_name }}</span> + <span class="card-text">{{ lesson_period.get_room.short_name }}</span> </div> </div> </div> -- GitLab