aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlban Gruin2017-02-26 21:38:08 +0100
committerAlban Gruin2017-02-26 21:38:08 +0100
commitcc479941c95fc487d1bbe8ed49af825177c55a81 (patch)
tree2d778ee40cda5f8fdc6dc2f005995e18bae16ed6
parentcd004bdf1144b27bcb4de1f4ffd750b6eefcb477 (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.txt8
-rw-r--r--templates/timetable.html3
-rw-r--r--templatetags/rooms.py27
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 %} &ndash; 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)