diff options
-rw-r--r-- | admin.py | 9 | ||||
-rw-r--r-- | models.py | 22 |
2 files changed, 24 insertions, 7 deletions
@@ -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",) @@ -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 |