From 0c2937bab77280beaabe7d53a77c848848845950 Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 16 Nov 2017 11:20:59 +0100 Subject: Par défaut, la date de dernière mise à jour des emplois du temps est la date actuelle --- models.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/models.py b/models.py index 0804a38..b9f1ba7 100644 --- a/models.py +++ b/models.py @@ -57,7 +57,8 @@ class Timetable(SlugModel): url = models.URLField(max_length=255, verbose_name="URL") slug = models.SlugField(max_length=64, default="") - last_update_date = models.DateTimeField(verbose_name="dernière mise à jour Celcat", null=True) + last_update_date = models.DateTimeField(verbose_name="dernière mise à jour Celcat", + null=True, default=timezone.now) def __str__(self): return self.year.name + " " + self.name -- cgit v1.2.1 From 4fdb7f6263d6463ac2099c383b1221789d28e42e Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 16 Nov 2017 13:34:30 +0100 Subject: Correction des erreurs lorsqu’un groupe n’a pas de sous-groupe --- models.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/models.py b/models.py index b9f1ba7..a90e9da 100644 --- a/models.py +++ b/models.py @@ -72,10 +72,12 @@ class Timetable(SlugModel): class GroupManager(Manager): def get_parents(self, group): - groups_criteria = Q(subgroup="") | 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)]) + groups_criteria = Q(subgroup="") | Q(subgroup__startswith=group.subgroup) + + if len(group.subgroup) != 0: + groups_criteria |= reduce(lambda x, y: x | y, + [Q(subgroup=group.subgroup[:i]) + for i in range(1, len(group.subgroup + 1))]) return self.get_queryset().filter(groups_criteria, mention=group.mention, timetable=group.timetable) -- cgit v1.2.1 From d1f4287a364e8bfee86a0a55c9514edad0abbd4e Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 16 Nov 2017 13:51:00 +0100 Subject: Correction d’un crash lorqu’on force une mise à jour sur tout l’emploi du temps Lorsqu’on effectue cette opération, la date à laquelle est effectuée la mise à jour est à None. get_event() effectue donc une comparaison entre la date du cours et un objet nul, ce qui est impossible. Cela provoque un crash. Le correctif consiste à dire que si la date de début de la mise à jour est nulle, alors le cours n’est pas ignoré, avant d’effectuer la comparaison décrite ci-dessus. --- management/commands/_private.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/management/commands/_private.py b/management/commands/_private.py index b663454..4dd9262 100644 --- a/management/commands/_private.py +++ b/management/commands/_private.py @@ -54,7 +54,7 @@ def get_event(timetable, event, event_week, today): end = add_time(date, event.endtime.text) # On ne traite pas le cours si il commence après le moment du traitement - if begin < today: + if today is not None and begin < today: return # Création de l’objet cours -- cgit v1.2.1 From cc64acb64af30771c523a1e0794f0976df14769b Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 16 Nov 2017 14:14:06 +0100 Subject: Correction d’une erreur de parenthésage dans get_parents() Le + 1 doit venir _après_ len(), pas pendant… --- models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models.py b/models.py index a90e9da..4b86961 100644 --- a/models.py +++ b/models.py @@ -77,7 +77,7 @@ class GroupManager(Manager): if len(group.subgroup) != 0: groups_criteria |= reduce(lambda x, y: x | y, [Q(subgroup=group.subgroup[:i]) - for i in range(1, len(group.subgroup + 1))]) + for i in range(1, len(group.subgroup) + 1)]) return self.get_queryset().filter(groups_criteria, mention=group.mention, timetable=group.timetable) -- cgit v1.2.1 From 9262be98897f29e52f489e3353cb752d9b9d8129 Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 16 Nov 2017 14:35:19 +0100 Subject: Revert "Par défaut, la date de dernière mise à jour des emplois du temps est" This reverts commit 0c2937bab77280beaabe7d53a77c848848845950. --- models.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/models.py b/models.py index 4b86961..db81d5b 100644 --- a/models.py +++ b/models.py @@ -57,8 +57,7 @@ class Timetable(SlugModel): url = models.URLField(max_length=255, verbose_name="URL") slug = models.SlugField(max_length=64, default="") - last_update_date = models.DateTimeField(verbose_name="dernière mise à jour Celcat", - null=True, default=timezone.now) + last_update_date = models.DateTimeField(verbose_name="dernière mise à jour Celcat", null=True) def __str__(self): return self.year.name + " " + self.name -- cgit v1.2.1 From 98d62baa698a69b031f28a27efc76a47b7456c8a Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 16 Nov 2017 14:38:24 +0100 Subject: Mettre une valeur de dernière mise à jour dans l’interface d’administration n’est plus obligatoire. --- models.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/models.py b/models.py index db81d5b..6d06793 100644 --- a/models.py +++ b/models.py @@ -57,7 +57,8 @@ class Timetable(SlugModel): url = models.URLField(max_length=255, verbose_name="URL") slug = models.SlugField(max_length=64, default="") - last_update_date = models.DateTimeField(verbose_name="dernière mise à jour Celcat", null=True) + last_update_date = models.DateTimeField(verbose_name="dernière mise à jour Celcat", + null=True, blank=True) def __str__(self): return self.year.name + " " + self.name -- cgit v1.2.1 From b2c14a2db9b79dca007db5e32aefbf76ebd05fd1 Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 16 Nov 2017 18:59:48 +0100 Subject: Version 0.11.2 --- __init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/__init__.py b/__init__.py index 7371b39..f6ef57e 100644 --- a/__init__.py +++ b/__init__.py @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Affero General Public License # along with celcatsanitizer. If not, see . -VERSION = "0.11.1" +VERSION = "0.11.2" __version__ = VERSION default_app_config = "edt.apps.EdtConfig" -- cgit v1.2.1