From 462c5d92fd4f755873f1c9837607ba5bae632f75 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Sun, 17 Apr 2022 12:30:46 +0200
Subject: [PATCH] Add migration to guess school ID on upgrade

---
 .../untis/migrations/0003_guess_school_id.py  | 28 +++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 aleksis/apps/untis/migrations/0003_guess_school_id.py

diff --git a/aleksis/apps/untis/migrations/0003_guess_school_id.py b/aleksis/apps/untis/migrations/0003_guess_school_id.py
new file mode 100644
index 0000000..52e5e02
--- /dev/null
+++ b/aleksis/apps/untis/migrations/0003_guess_school_id.py
@@ -0,0 +1,28 @@
+from django.db import migrations
+
+from aleksis.core.util.core_helpers import get_site_preferences
+
+
+def guess_school_id(apps, schema_editor):
+    db_alias = schema_editor.connection.alias
+
+    ValidityRange = apps.get_model("chronos", "ValidityRange")
+    try:
+        vr = ValidityRange.objects.using(db_alias).first()
+    except ValidityRange.DoesNotExist:
+        return
+
+    school_id = vr.school_id_untis
+    if school_id:
+        get_site_preferences()["untis_mysql__school_id"] = school_id
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('untis', '0002_auto_20200820_1542'),
+    ]
+
+    operations = [
+        migrations.RunPython(guess_school_id),
+    ]
-- 
GitLab