From 19170706ef2efd4614a58632d6237ba6e827fd85 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Sat, 14 Sep 2019 18:16:37 +0200
Subject: [PATCH] Fix week default.

---
 biscuit/apps/chronos/migrations/0001_initial.py | 2 +-
 biscuit/apps/chronos/models.py                  | 2 +-
 biscuit/apps/chronos/util.py                    | 6 ++++++
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/biscuit/apps/chronos/migrations/0001_initial.py b/biscuit/apps/chronos/migrations/0001_initial.py
index 6fdf91d7..9f3790ac 100644
--- a/biscuit/apps/chronos/migrations/0001_initial.py
+++ b/biscuit/apps/chronos/migrations/0001_initial.py
@@ -85,7 +85,7 @@ class Migration(migrations.Migration):
             name='LessonSubstitution',
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('week', models.IntegerField(default=biscuit.apps.chronos.util.current_week, verbose_name='Week')),
+                ('week', models.IntegerField(default=biscuit.apps.chronos.util.CalendarWeek.current_week, verbose_name='Week')),
                 ('lesson_period', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='substitutions', to='chronos.LessonPeriod')),
                 ('room', models.ForeignKey(null=True, blank=True, on_delete=django.db.models.deletion.CASCADE, to='chronos.Room')),
                 ('school', models.ForeignKey(default=biscuit.core.util.core_helpers.get_current_school, on_delete=django.db.models.deletion.CASCADE, to='core.School')),
diff --git a/biscuit/apps/chronos/models.py b/biscuit/apps/chronos/models.py
index b8498ae4..6f6d6229 100644
--- a/biscuit/apps/chronos/models.py
+++ b/biscuit/apps/chronos/models.py
@@ -116,7 +116,7 @@ class Lesson(SchoolRelated):
 
 class LessonSubstitution(SchoolRelated):
     week = models.IntegerField(verbose_name=_('Week'),
-                               default=CalendarWeek().week)
+                               default=CalendarWeek.current_week)
 
     lesson_period = models.ForeignKey(
         'LessonPeriod', models.CASCADE, 'substitutions')
diff --git a/biscuit/apps/chronos/util.py b/biscuit/apps/chronos/util.py
index 710d7949..f3988f42 100644
--- a/biscuit/apps/chronos/util.py
+++ b/biscuit/apps/chronos/util.py
@@ -22,6 +22,12 @@ class CalendarWeek:
 
         return cls(year=when.year, week=int(when.strftime('%V')))
 
+    @classmethod
+    def current_week(cls) -> int:
+        """ Get the current week number. """
+
+        return cls().week
+
     def __post_init__(self) -> None:
         today = date.today()
 
-- 
GitLab