diff --git a/biscuit/apps/chronos/models.py b/biscuit/apps/chronos/models.py index 8ebf484e7fc1fc9a24538d50ebed5d52da11423b..436c27d82ea10bb92fc9821b3098dffffe1e53d6 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 9993ee75a52c50eeff78930799aae368b9a00c34..347031d0b32b71c2f4917818383830b61a001568 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>