diff --git a/biscuit/apps/chronos/forms.py b/biscuit/apps/chronos/forms.py index 638b6d3569bb174bf1bf8e6504099b4e7559113d..4f599ca97b77a806d779346971c6be8675a4ca0f 100644 --- a/biscuit/apps/chronos/forms.py +++ b/biscuit/apps/chronos/forms.py @@ -24,4 +24,4 @@ class SelectForm(forms.Form): class LessonSubstitutionForm(forms.ModelForm): class Meta: model = LessonSubstitution - fields = ['week', 'lesson_period', 'subject', 'teachers', 'room'] + fields = ['week', 'lesson_period', 'subject', 'teachers', 'room', 'canceled'] diff --git a/biscuit/apps/chronos/migrations/0003_lessonsubstitution_canceled.py b/biscuit/apps/chronos/migrations/0003_lessonsubstitution_canceled.py new file mode 100644 index 0000000000000000000000000000000000000000..7d6b9d00e5cccacf4b8d2598bbfc165571f2d178 --- /dev/null +++ b/biscuit/apps/chronos/migrations/0003_lessonsubstitution_canceled.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.5 on 2019-09-07 13:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('chronos', '0002_db_indexes'), + ] + + operations = [ + migrations.AddField( + model_name='lessonsubstitution', + name='canceled', + field=models.BooleanField(default=False), + ), + ] diff --git a/biscuit/apps/chronos/models.py b/biscuit/apps/chronos/models.py index e1100d0c0c0fb45a9ad4c95796579c7b2a518e9f..fedde9f27ce63e69e72806d19d2361eb41585f1a 100644 --- a/biscuit/apps/chronos/models.py +++ b/biscuit/apps/chronos/models.py @@ -119,6 +119,8 @@ class LessonSubstitution(SchoolRelated): related_name='lesson_substitutions') room = models.ForeignKey('Room', models.CASCADE, null=True) + canceled = models.BooleanField(default=False) + class Meta: unique_together = [['school', 'lesson_period', 'week']] ordering = ['lesson_period__lesson__date_start', 'week', diff --git a/biscuit/apps/chronos/templates/chronos/tt_lesson.html b/biscuit/apps/chronos/templates/chronos/tt_lesson.html index f7a3028fe133f035f3b2ae52de0a40c828db3e4f..077cdade986087d8b8bbc49b3d10dd2190675e67 100644 --- a/biscuit/apps/chronos/templates/chronos/tt_lesson.html +++ b/biscuit/apps/chronos/templates/chronos/tt_lesson.html @@ -1,45 +1,57 @@ {# -*- engine:django -*- #} -<div class="card chronos-lesson - {% if lesson_period.get_substitution %} - border border-warning - {% endif %} - " - style=" - {% if lesson_period.lesson.subject.colour_fg %} - color: {{ lesson_period.lesson.subject.colour_fg }}; - {% endif %} - {% if lesson_period.lesson.subject.colour_bg %} - background-color: {{ lesson_period.lesson.subject.colour_bg }}; - {% endif %} - "> - <div class="card-body"> - <div class="row"> - <div class="col-sm"> - <span class="card-title"> - {{ lesson_period.get_subject.abbrev }} - </span> +{% if not lesson_period.get_substitution.canceled %} + <div class="card chronos-lesson + {% if lesson_period.get_substitution %} + border border-warning + {% endif %} + " + style=" + {% if lesson_period.lesson.subject.colour_fg %} + color: {{ lesson_period.lesson.subject.colour_fg }}; + {% endif %} + {% if lesson_period.lesson.subject.colour_bg %} + background-color: {{ lesson_period.lesson.subject.colour_bg }}; + {% endif %} + "> + <div class="card-body"> + <div class="row"> + <div class="col-sm"> + <span class="card-title"> + {{ lesson_period.get_subject.abbrev }} + </span> + </div> </div> - </div> - <div class="row"> - <div class="col-sm"> - {% 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.get_teachers.all %} - <a href="{% url 'person_by_id' teacher.id %}" - title="{{ teacher.first_name }} {{ teacher.last_name }}" - class="card-text" - data-poload="{% url 'person_by_id_card' teacher.id %}"> - {{ teacher.short_name }} - </a> - {% endfor %} + <div class="row"> + <div class="col-sm"> + {% 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.get_teachers.all %} + <a href="{% url 'person_by_id' teacher.id %}" + title="{{ teacher.first_name }} {{ teacher.last_name }}" + class="card-text" + data-poload="{% url 'person_by_id_card' teacher.id %}"> + {{ teacher.short_name }} + </a> + {% endfor %} + </div> + <div class="col-sm"> + <span class="card-text">{{ lesson_period.get_room.short_name }}</span> + </div> </div> - <div class="col-sm"> - <span class="card-text">{{ lesson_period.get_room.short_name }}</span> + </div> + </div> +{% else %} + <div class="card text-center chronos-lesson bg-danger"> + <div class="card-body"> + <div class="row"> + <div class="col-sm"> + {% blocktrans %}Canceled{% endblocktrans %} + </div> </div> </div> </div> -</div> +{% endif %}