From 674a8c43fc24cd75b2230aff856e40fed16a91a9 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Fri, 30 Aug 2019 13:31:02 +0200
Subject: [PATCH] Add ordering to models. Advances BiscuIT-ng#54.

---
 biscuit/apps/chronos/models.py | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/biscuit/apps/chronos/models.py b/biscuit/apps/chronos/models.py
index 6da90f9f..fc9127f3 100644
--- a/biscuit/apps/chronos/models.py
+++ b/biscuit/apps/chronos/models.py
@@ -42,6 +42,7 @@ class TimePeriod(models.Model):
 
     class Meta:
         unique_together = [['weekday', 'period']]
+        ordering = ['weekday', 'period']
 
 
 class Subject(models.Model):
@@ -58,6 +59,9 @@ class Subject(models.Model):
     def __str__(self) -> str:
         return '%s - %s' % (self.abbrev, self.name)
 
+    class Meta:
+         ordering = ['name', 'abbrev']
+
 
 class Room(models.Model):
     short_name = models.CharField(verbose_name=_(
@@ -68,6 +72,9 @@ class Room(models.Model):
     def __str__(self) -> str:
         return '%s (%s)' % (self.name, self.short_name)
 
+    class Meta:
+        ordering = ['name', 'short_name']
+
 
 class Lesson(models.Model):
     subject = models.ForeignKey(
@@ -82,6 +89,10 @@ class Lesson(models.Model):
     date_end = models.DateField(verbose_name=_(
         'Effective end date of lesson'), null=True)
 
+    class Meta:
+        ordering = ['date_start']
+
+
 class LessonSubstitution(models.Model):
     week = models.IntegerField(verbose_name=_('Week'),
                                default=current_week)
@@ -96,6 +107,9 @@ class LessonSubstitution(models.Model):
                                       related_name='lesson_substitutions')
     room = models.ForeignKey('Room', models.CASCADE, null=True)
 
+    class Meta:
+        ordering = ['lesson_period__lesson__date_start', 'week', 'lesson_period__period__weekday', 'lesson_period__period__period']
+
 
 class LessonPeriod(models.Model):
     lesson = models.ForeignKey('Lesson', models.CASCADE, related_name='lesson_periods')
@@ -127,3 +141,6 @@ class LessonPeriod(models.Model):
 
     def get_groups(self) -> models.query.QuerySet:
         return self.lesson.groups
+
+    class Meta:
+        ordering = ['lesson__date_start', 'period__weekday', 'period__period']
-- 
GitLab