From 1fd2062ca3fe15bf3442114ca45127e26d9566b7 Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 9 Feb 2017 10:50:51 +0100 Subject: Amélioration des modèles --- models.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'models.py') diff --git a/models.py b/models.py index af136af..bc0ec2d 100644 --- a/models.py +++ b/models.py @@ -34,6 +34,9 @@ class LastUpdate(models.Model): year = models.IntegerField(verbose_name="année") date = models.DateTimeField(verbose_name="date de mise à jour") + def __str__(self): + return "{0}, semaine {1} de {2}".format(self.timetable.name, self.week, self.year) + class Meta: unique_together = ("timetable", "week", "year",) @@ -57,7 +60,7 @@ class Group(models.Model): return self.timetable.id == timetable_id and self.mention == mention and self.subgroup == subgroup and (self.td == td or self.td is None or td is None) and (self.tp == tp or self.tp is None or tp is None) def __str__(self): - return self.name + return "{0} - {1}".format(self.timetable.name, self.name) def save(self): try: @@ -95,6 +98,9 @@ class Subscription(models.Model): active = models.BooleanField(verbose_name="activé", default=False, db_index=True) token = models.CharField(max_length=64, unique=True, default="") + def __str__(self): + return "{0} - {1}".format(self.email, self.group) + def save(self): if self.token == "": self.token = hashlib.sha1(os.urandom(128)).hexdigest() @@ -154,6 +160,10 @@ class Course(models.Model): def __str__(self): return self.name + def save(self): + self.type_.replace("COURS", "Cours") + super(Course, self).save() + class Meta: verbose_name = "cours" -- cgit v1.2.1 From ef3d37c4be68e9055e099e955cbdc7934a6d0b65 Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 9 Feb 2017 11:38:29 +0100 Subject: Déduplication du nom de cours dans la base de données --- models.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'models.py') diff --git a/models.py b/models.py index bc0ec2d..e4fe6d6 100644 --- a/models.py +++ b/models.py @@ -60,9 +60,9 @@ class Group(models.Model): return self.timetable.id == timetable_id and self.mention == mention and self.subgroup == subgroup and (self.td == td or self.td is None or td is None) and (self.tp == tp or self.tp is None or tp is None) def __str__(self): - return "{0} - {1}".format(self.timetable.name, self.name) + return self.name - def save(self): + def save(self, *args, **kwargs): try: parts = self.celcat_name.split("-")[-2:] group = parts[1].strip()[2:] @@ -101,10 +101,10 @@ class Subscription(models.Model): def __str__(self): return "{0} - {1}".format(self.email, self.group) - def save(self): + def save(self, *args, **kwargs): if self.token == "": self.token = hashlib.sha1(os.urandom(128)).hexdigest() - super(Subscription, self).save() + super(Subscription, self).save(*args, **kwargs) class Meta: @@ -160,9 +160,13 @@ class Course(models.Model): def __str__(self): return self.name - def save(self): - self.type_.replace("COURS", "Cours") - super(Course, self).save() + def save(self, *args, **kwargs): + if self.type is not None: + self.type = self.type.replace("COURS", "cours") + if self.name is not None: + self.name = self.name.split("(")[0].strip() + + super(Course, self).save(*args, **kwargs) class Meta: -- cgit v1.2.1 From 18e9abfc4b2160d71aa3842eb6ae1a093dcfeeac Mon Sep 17 00:00:00 2001 From: Alban Gruin Date: Thu, 9 Feb 2017 11:56:11 +0100 Subject: Ajout d'une licence (gpl2) --- models.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'models.py') diff --git a/models.py b/models.py index e4fe6d6..2100d35 100644 --- a/models.py +++ b/models.py @@ -1,3 +1,19 @@ +# 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.db import connection, models from django.db.models import Q from django.db.models.expressions import RawSQL -- cgit v1.2.1