aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--admin.py9
-rw-r--r--models.py22
2 files changed, 24 insertions, 7 deletions
diff --git a/admin.py b/admin.py
index 011ad73..717a386 100644
--- a/admin.py
+++ b/admin.py
@@ -14,7 +14,7 @@
# along with celcatsanitizer. If not, see <http://www.gnu.org/licenses/>.
from django.contrib import admin
-from .models import Timetable, Group, Room, Course, Year
+from .models import Course, Group, Room, Timetable, TimetableFront, Year
def make_hidden(modeladmin, request, queryset):
queryset.update(hidden=True)
@@ -34,8 +34,13 @@ class YearAdmin(admin.ModelAdmin):
@admin.register(Timetable)
class TimetableAdmin(admin.ModelAdmin):
+ list_display = ("url", "last_update_date",)
+
+
+@admin.register(TimetableFront)
+class TimetableFrontAdmin(admin.ModelAdmin):
prepopulated_fields = {"slug": ("name",)}
- list_display = ("name", "year", "url",)
+ list_display = ("name", "year", "source",)
list_filter = ("year__name",)
ordering = ("year", "name",)
diff --git a/models.py b/models.py
index 66d5ae5..dc9732b 100644
--- a/models.py
+++ b/models.py
@@ -49,15 +49,27 @@ class Year(SlugModel):
verbose_name_plural = "années"
-class Timetable(SlugModel):
+class Timetable(models.Model):
+ url = models.URLField(max_length=255, verbose_name="URL", unique=True)
+ last_update_date = models.DateTimeField(verbose_name="dernière mise à jour Celcat",
+ null=True, blank=True)
+
+ def __str__(self):
+ return self.url
+
+
+ class Meta:
+ verbose_name = "source d’emploi du temps"
+ verbose_name_plural = "sources d’emploi du temps"
+
+
+class TimetableFront(SlugModel):
year = models.ForeignKey(Year, on_delete=models.CASCADE,
verbose_name="année")
name = models.CharField(max_length=64, verbose_name="nom")
- 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, blank=True)
+ source = models.ForeignKey(Timetable, on_delete=models.CASCADE,
+ verbose_name="source")
def __str__(self):
return self.year.name + " " + self.name