From 912f3cca24da9d870aa191348fef901adcd55b7d Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Wed, 1 Nov 2017 15:17:35 +0100 Subject: get_parents() sélectionne aussi les groupes enfants dont le sous-groupe commence par la même chaîne que celui du groupe passé en paramètre. Correction cosmétique du code. --- models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models.py b/models.py index c546737..c3118a3 100644 --- a/models.py +++ b/models.py @@ -71,7 +71,7 @@ class Timetable(SlugModel): class GroupManager(Manager): def get_parents(self, group): - groups_criteria = Q(subgroup__isnull=True) | \ + groups_criteria = Q(subgroup__isnull=True) | Q(subgroup__startswith=group.subgroup) | \ reduce(lambda x, y: x | y, [Q(subgroup=group.subgroup[:i]) for i in range(1, len(group.subgroup) + 1)]) @@ -80,7 +80,7 @@ class GroupManager(Manager): timetable=group.timetable) def get_relevant_groups(self, timetable, *args, **criteria): - sub = Group.objects.filter(timetable=timetable,mention=OuterRef("mention"), + sub = Group.objects.filter(timetable=timetable, mention=OuterRef("mention"), subgroup__startswith=OuterRef("subgroup")) \ .order_by().values("mention").annotate(c=Count("*")).values("c") -- cgit v1.2.1 From 2d68777e50e261cb793186321947b677ed9de692 Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Wed, 1 Nov 2017 15:20:55 +0100 Subject: Correction des crashes provoqués lors de la génération des ICS lorsque le type d’un cours est nul. --- feeds.py | 7 ++++++- templates/timetable_common.html | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/feeds.py b/feeds.py index 66be12e..aced5e6 100644 --- a/feeds.py +++ b/feeds.py @@ -75,6 +75,11 @@ class IcalFeed(Feed): def item_link(self, item): return "" + def item_summary(self, item): + if item.type is not None: + return item.name + " (" + item.type + ")" + return item.name + def items(self, obj): return Course.objects.get_courses_for_group(obj) @@ -83,7 +88,7 @@ class IcalFeed(Feed): "dtstart": item.begin, "dtend": item.end, "dtstamp": item.last_update, - "summary": item.name + " (" + item.type + ")", + "summary": self.item_summary(item), "location": format_rooms(item.rooms.all())} diff --git a/templates/timetable_common.html b/templates/timetable_common.html index 9a2c27e..62b1d71 100644 --- a/templates/timetable_common.html +++ b/templates/timetable_common.html @@ -4,7 +4,7 @@

{% 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 %}