aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlban Gruin2017-10-09 23:11:16 +0200
committerAlban Gruin2017-10-09 23:11:16 +0200
commit72dcae5c9d58005af71b293d1ec09a4c50335c64 (patch)
treee5d8482ae446e60c751964ff50911faa6f31b1fc
parentab47155c3d7eb9b5bf421c5f9c9c903602ebb175 (diff)
Lorsque le nom d’un cours et son champ remarque est vide, le nom dev0.10.4
l’objet cours final était égal à None et faisait crasher les flux RSS et Atom, ainsi que l’ICS et n’affichait aucun cours à la semaine du cours problématique. C’est maintenant corrigé.
-rw-r--r--management/commands/_private.py17
-rw-r--r--models.py2
2 files changed, 9 insertions, 10 deletions
diff --git a/management/commands/_private.py b/management/commands/_private.py
index bad6e6f..3b6a164 100644
--- a/management/commands/_private.py
+++ b/management/commands/_private.py
@@ -103,20 +103,19 @@ def get_event(timetable, event, event_week, today):
consolidate_groups(groups)
course.groups.add(*groups)
- # On récupère le champ « remarque »
- if event.notes is not None:
- course.notes = event.notes.text
-
- # On récupère le nom du cours
+ # On récupère le nom du cours et le champ « remarque »
if event.resources.module is not None:
course.name = event.resources.module.item.text
- else:
+ if course.notes is not None:
+ course.notes = event.notes.text
+
+ elif event.resources.module is None and event.notes is not None:
# Il est possible qu’un cours n’ait pas de nom. Oui oui.
# Qui sont les concepteurs de ce système ? Quels sont leurs
# réseaux ?
- # Bref, dans ce cas, on déplace le champ « remarque » de
- # l’objet dans le champ « nom ».
- course.name, course.notes = course.notes, None
+ # Bref, dans ce cas, si le cours possède une remarque, elle
+ # devient le nom du cours.
+ course.name = event.notes.text
# Récupération du type de cours
if event.category is not None:
diff --git a/models.py b/models.py
index ec141a2..e48efa5 100644
--- a/models.py
+++ b/models.py
@@ -176,7 +176,7 @@ class Course(models.Model):
objects = CourseManager()
name = models.CharField(max_length=255, verbose_name="nom", default="Sans nom",
- null=True)
+ null=True) # TODO 0.11: null=False
type_ = models.CharField(name="type", max_length=255,
verbose_name="type de cours", null=True)
timetable = models.ForeignKey(Timetable, on_delete=models.CASCADE,