diff options
author | Alban Gruin | 2017-02-26 21:38:08 +0100 |
---|---|---|
committer | Alban Gruin | 2017-02-26 21:38:08 +0100 |
commit | cc479941c95fc487d1bbe8ed49af825177c55a81 (patch) | |
tree | 2d778ee40cda5f8fdc6dc2f005995e18bae16ed6 | |
parent | cd004bdf1144b27bcb4de1f4ffd750b6eefcb477 (diff) |
Différentes améliorations concernant l'affichage des emplois du temps
- Affichage des remarques concernant les cours sur les emplois du temps et dans les mails
- Meilleur formatage des salles
- Meilleure gestion des retours à la ligne dans les mails
-rw-r--r-- | templates/mail/mail_timetable.txt | 8 | ||||
-rw-r--r-- | templates/timetable.html | 3 | ||||
-rw-r--r-- | templatetags/rooms.py | 27 |
3 files changed, 33 insertions, 5 deletions
diff --git a/templates/mail/mail_timetable.txt b/templates/mail/mail_timetable.txt index a14ce9a..f6b8364 100644 --- a/templates/mail/mail_timetable.txt +++ b/templates/mail/mail_timetable.txt @@ -1,7 +1,7 @@ -{% autoescape off %}{% for day in courses %}{% filter title %}{{ day.0.begin|date:"l j F o" }}{% endfilter %} - de {{ day.0.begin|date:"H:i" }} à {% with day|last as last %}{{ last.end|date:"H:i" }}{% endwith %} -{% for course in day %} - * {{ course.name }} ({{ course.type }}), de {{ course.begin|date:"H:i" }} à {{ course.end|date:"H:i" }}{% if course.rooms.all|length > 0 %} - Salle{% if course.rooms.all|length > 1 %}s{% endif %} {% for room in course.rooms.all %}{{ room }} {% endfor %}{% endif %} +{% load rooms %}{% autoescape off %}{% for day in courses %}{% filter title %}{{ day.0.begin|date:"l j F o" }}{% endfilter %} - de {{ day.0.begin|date:"H:i" }} à {% with day|last as last %}{{ last.end|date:"H:i" }}{% endwith %} +{% for course in day %} * {{ course.name }} ({{ course.type }}), de {{ course.begin|date:"H:i" }} à {{ course.end|date:"H:i" }}{% if course.rooms.all|length > 0 %} + {{ course.rooms.all|format_rooms }}{% endif %}{% if course.notes is not None %} + Remarques : {{ course.notes }}{% endif %} {% endfor %}{% empty %}Aucun cours pour le groupe {{ group }} pendant la semaine {{ week }}. {% endfor %}{% endautoescape %} diff --git a/templates/timetable.html b/templates/timetable.html index 0d3432c..78dcfed 100644 --- a/templates/timetable.html +++ b/templates/timetable.html @@ -1,4 +1,5 @@ {% extends "index.html" %} +{% load rooms %} {% block title %}{{ group.timetable.name }} – {{ group.name }} – Semaine {{ week }} – {% endblock %} @@ -8,7 +9,7 @@ <section> <h3>{% filter title %}{{ day.0.begin|date:"l j F o" }}{% endfilter %} – de {{ day.0.begin|date:"H:i" }} à {% with day|last as last %}{{ last.end|date:"H:i" }}{% endwith %}</h3> <ul>{% for course in day %} - <li class="course"><b>{{ course.name }}</b> ({{ course.type }}), de {{ course.begin|date:"H:i" }} à {{ course.end|date:"H:i" }}{% if course.rooms.all|length > 0 %}<br /><em>Salle{% if course.rooms.all|length > 1 %}s{% endif %} {% for room in course.rooms.all %}{{ room }} {% endfor %}</em>{% endif %}</li>{% endfor %} + <li class="course"><b>{{ course.name }}</b> ({{ course.type }}), de {{ course.begin|date:"H:i" }} à {{ course.end|date:"H:i" }}{% if course.rooms.all|length > 0 %}<br /><em>{{ course.rooms.all|format_rooms }}</em>{% endif %}{% if course.notes is not None %}<br /><small>Remarques : {{ course.notes }}</small>{% endif %}</li>{% endfor %} </ul> </section>{% endfor %} <p><a class="subscribe" href="{% url "subscribe" group.timetable.slug group.slug year week %}">S'abonner à cet emploi du temps</a></p>{% endblock %} diff --git a/templatetags/rooms.py b/templatetags/rooms.py new file mode 100644 index 0000000..d76f0ee --- /dev/null +++ b/templatetags/rooms.py @@ -0,0 +1,27 @@ +# Copyright (C) 2017 Alban Gruin +# +# celcatsanitizer is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# celcatsanitizer is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with celcatsanitizer; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +from django import template + +register = template.Library() + +@register.filter +def format_rooms(rooms): + joined = ", ".join([str(room) for room in rooms]) + if len(rooms) > 1: + return "Salles {0}".format(joined) + else: + return "Salle {0}".format(joined) |