From 40d9344c8887579b0393043b70c50ecd1b55eecd Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Mon, 28 Aug 2023 23:50:03 +0200
Subject: [PATCH] Make instruction frontend compatible with new Vue frontend

---
 aleksis/apps/alsijil/assets/messages.json     |  2 +-
 aleksis/apps/alsijil/frontend/index.js        | 33 +++++++++++++++++--
 .../apps/alsijil/frontend/messages/de.json    |  3 ++
 .../apps/alsijil/frontend/messages/en.json    |  5 ++-
 ...017_instruction.py => 0018_instruction.py} |  2 +-
 ...tructions.py => 0019_done_instructions.py} |  2 +-
 aleksis/apps/alsijil/views.py                 |  2 +-
 7 files changed, 41 insertions(+), 8 deletions(-)
 rename aleksis/apps/alsijil/migrations/{0017_instruction.py => 0018_instruction.py} (99%)
 rename aleksis/apps/alsijil/migrations/{0018_done_instructions.py => 0019_done_instructions.py} (92%)

diff --git a/aleksis/apps/alsijil/assets/messages.json b/aleksis/apps/alsijil/assets/messages.json
index 4b89240f8..ecf5f79e4 100644
--- a/aleksis/apps/alsijil/assets/messages.json
+++ b/aleksis/apps/alsijil/assets/messages.json
@@ -50,4 +50,4 @@
       "title": "Kursbuch"
     }
   }
-}
\ No newline at end of file
+}
diff --git a/aleksis/apps/alsijil/frontend/index.js b/aleksis/apps/alsijil/frontend/index.js
index 38293a43a..2fa2825ea 100644
--- a/aleksis/apps/alsijil/frontend/index.js
+++ b/aleksis/apps/alsijil/frontend/index.js
@@ -158,9 +158,36 @@ export default {
         inMenu: true,
         titleKey: "alsijil.instruction.menu_title",
         icon: "mdi-folder-check-outline",
-        permission: "alsijil.view_instructions_rule"
-      }
-  },
+        permission: "alsijil.view_instructions_rule",
+      },
+      props: {
+        byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+      },
+    },
+    {
+      path: "instructions/create/",
+      component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
+      name: "alsijil.createInstruction",
+      props: {
+        byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+      },
+    },
+    {
+      path: "instructions/:pk/edit",
+      component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
+      name: "alsijil.editInstruction",
+      props: {
+        byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+      },
+    },
+    {
+      path: "instructions/:pk/delete",
+      component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
+      name: "alsijil.deleteInstruction",
+      props: {
+        byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+      },
+    },
     {
       path: "persons/:id_(\\d+)/",
       component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
diff --git a/aleksis/apps/alsijil/frontend/messages/de.json b/aleksis/apps/alsijil/frontend/messages/de.json
index 09456c744..67c9af5bf 100644
--- a/aleksis/apps/alsijil/frontend/messages/de.json
+++ b/aleksis/apps/alsijil/frontend/messages/de.json
@@ -31,6 +31,9 @@
     },
     "all_lessons": {
       "menu_title": "Alle Stunden"
+    },
+    "instruction": {
+      "menu_title": "Belehrungen"
     }
   }
 }
diff --git a/aleksis/apps/alsijil/frontend/messages/en.json b/aleksis/apps/alsijil/frontend/messages/en.json
index cd9798229..18c75c8bb 100644
--- a/aleksis/apps/alsijil/frontend/messages/en.json
+++ b/aleksis/apps/alsijil/frontend/messages/en.json
@@ -31,6 +31,9 @@
     "all_lessons": {
       "menu_title": "All lessons"
     },
-    "menu_title": "Class register"
+    "menu_title": "Class register",
+    "instruction": {
+      "menu_title": "Instructions"
+    }
   }
 }
diff --git a/aleksis/apps/alsijil/migrations/0017_instruction.py b/aleksis/apps/alsijil/migrations/0018_instruction.py
similarity index 99%
rename from aleksis/apps/alsijil/migrations/0017_instruction.py
rename to aleksis/apps/alsijil/migrations/0018_instruction.py
index 11e200873..101a97fa3 100644
--- a/aleksis/apps/alsijil/migrations/0017_instruction.py
+++ b/aleksis/apps/alsijil/migrations/0018_instruction.py
@@ -10,7 +10,7 @@ class Migration(migrations.Migration):
     dependencies = [
         ('core', '0019_fix_uniqueness_per_site'),
         ('sites', '0002_alter_domain_unique'),
-        ('alsijil', '0016_add_not_counted_excuse_types'),
+        ('alsijil', '0017_rename_late_to_tardiness'),
     ]
 
     operations = [
diff --git a/aleksis/apps/alsijil/migrations/0018_done_instructions.py b/aleksis/apps/alsijil/migrations/0019_done_instructions.py
similarity index 92%
rename from aleksis/apps/alsijil/migrations/0018_done_instructions.py
rename to aleksis/apps/alsijil/migrations/0019_done_instructions.py
index 968d8491a..886839931 100644
--- a/aleksis/apps/alsijil/migrations/0018_done_instructions.py
+++ b/aleksis/apps/alsijil/migrations/0019_done_instructions.py
@@ -7,7 +7,7 @@ class Migration(migrations.Migration):
 
     dependencies = [
         ('core', '0019_fix_uniqueness_per_site'),
-        ('alsijil', '0017_instruction'),
+        ('alsijil', '0018_instruction'),
     ]
 
     operations = [
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index 0208255e5..4bfc9d85a 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -1417,7 +1417,7 @@ class InstructionsListView(PermissionRequiredMixin, FilterView):
         for doc in docs:
             groups = doc.register_object.get_groups().all()
             for group in groups:
-                parent_groups = group.parent_groups_recursive
+                parent_groups = group.parent_groups.all()  # FIXME Recursive again
                 group_members = set(group.members.all())
                 selected_groups = list(parent_groups) + [group]
 
-- 
GitLab