diff options
| -rw-r--r-- | admin.py | 2 | ||||
| -rw-r--r-- | models.py | 19 | 
2 files changed, 21 insertions, 0 deletions
| @@ -10,6 +10,8 @@ class TimetableAdmin(admin.ModelAdmin):  @admin.register(Group)  class GroupAdmin(admin.ModelAdmin): +    fieldsets = ( +        (None, {"fields": ("name", "timetable",)}),)      list_display = ("name", "timetable",)      list_filter = ("timetable__name",) @@ -19,9 +19,28 @@ class Group(models.Model):      name = models.CharField(max_length=255, verbose_name="nom")      timetable = models.ForeignKey(Timetable, on_delete=models.CASCADE, verbose_name="emploi du temps") +    mention = models.CharField(max_length=32) +    subgroup = models.CharField(max_length=1, verbose_name="sous-groupe") +    td = models.IntegerField(verbose_name="groupe de TD", null=True) +    tp = models.IntegerField(verbose_name="groupe de TP", null=True) +      def __str__(self):          return self.name +    def save(self): +        parts = self.name.split("-")[-2:] +        group = parts[1].strip()[2:] + +        self.mention = parts[0].strip() +        self.subgroup = group[0] + +        if len(group) > 1: +            self.td = int(group[1]) +        if len(group) > 2: +            self.tp = int(group[2]) + +        super(Group, self).save() +      class Meta:          verbose_name = "groupe" | 
