aboutsummaryrefslogtreecommitdiff
path: root/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'models.py')
-rw-r--r--models.py36
1 files changed, 33 insertions, 3 deletions
diff --git a/models.py b/models.py
index af136af..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
@@ -34,6 +50,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",)
@@ -59,7 +78,7 @@ class Group(models.Model):
def __str__(self):
return self.name
- def save(self):
+ def save(self, *args, **kwargs):
try:
parts = self.celcat_name.split("-")[-2:]
group = parts[1].strip()[2:]
@@ -95,10 +114,13 @@ 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 save(self):
+ def __str__(self):
+ return "{0} - {1}".format(self.email, self.group)
+
+ 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:
@@ -154,6 +176,14 @@ class Course(models.Model):
def __str__(self):
return self.name
+ 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:
verbose_name = "cours"