diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index f8a3f7670297dc73adf5698fa8585b29b997caf8..a31cc8000699b0b6d0310c11fe5c18cc18e9bdb0 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -9,6 +9,13 @@ and this project adheres to `Semantic Versioning`_.
 Unreleased
 ----------
 
+Removed
+~~~~~~~
+
+* Official support for views rendered server-side in Django is removed. The
+  `LegacyBaseTemplate` provided for backwards compatibility must not be used
+  by apps declaring a dependency on AlekSIS >= 3.0.
+
 Deprecated
 ~~~~~~~~~~
 
diff --git a/aleksis/core/frontend/components/LegacyBaseTemplate.vue b/aleksis/core/frontend/components/LegacyBaseTemplate.vue
index 3f620e7a0b04e16eae53e15b505f4b847064c6b0..a29bf356c06c5fbdc3dba02c543139ef8de1c9ad 100644
--- a/aleksis/core/frontend/components/LegacyBaseTemplate.vue
+++ b/aleksis/core/frontend/components/LegacyBaseTemplate.vue
@@ -11,7 +11,16 @@
 -->
 
 <template>
+  <message-box
+    v-if="
+      !byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate
+    "
+    type="error"
+  >
+    {{ $t("legacy.unworthy") }}
+  </message-box>
   <iframe
+    v-else
     :src="'/django' + $route.path + queryString"
     :height="iFrameHeight + 'px'"
     class="iframe-fullsize"
@@ -22,6 +31,13 @@
 
 <script>
 export default {
+  props: {
+    byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate:
+      {
+        type: Boolean,
+        required: true,
+      },
+  },
   data: function () {
     return {
       iFrameHeight: 0,
diff --git a/aleksis/core/frontend/messages/de.json b/aleksis/core/frontend/messages/de.json
index 809b16585192d117427ae880bbfc90e18e4142c4..1202bd8114909044b36da4b13393013fa349e4a6 100644
--- a/aleksis/core/frontend/messages/de.json
+++ b/aleksis/core/frontend/messages/de.json
@@ -125,6 +125,9 @@
   "ical_feed": {
     "menu_title": "Kalender-Feeds"
   },
+  "legacy": {
+    "unworthy": "Die Lebensform, die diese Seite erstellt hat, hat dem allmächtigen Aleksolotl keine Unterwerfung gezeigt."
+  },
   "network_errors": {
     "error_404": "404",
     "offline_notification": "Sie sind offline. Einige Funktionen werden nicht funktionieren und einige Daten werden nicht aktuell sein.",
diff --git a/aleksis/core/frontend/messages/en.json b/aleksis/core/frontend/messages/en.json
index 13b8604861bdafec310801a15bb84a7b1babdccf..07c1c5a150e883bac551a6e3e3a812b4e90e9c02 100644
--- a/aleksis/core/frontend/messages/en.json
+++ b/aleksis/core/frontend/messages/en.json
@@ -122,6 +122,9 @@
   "ical_feed": {
     "menu_title": "Calendar Feeds"
   },
+  "legacy": {
+    "unworthy": "The life-form who created this view did not bow to the powers of the almighty Aleksolotl."
+  },
   "notifications": {
     "mark_as_read": "Mark as read",
     "more_information": "More information",
diff --git a/aleksis/core/frontend/routes.js b/aleksis/core/frontend/routes.js
index f3ef5d9955c234c9009e74e023662f4aed002632..567f770b3b1eadca0a5894ddbabab5a0f71b6856 100644
--- a/aleksis/core/frontend/routes.js
+++ b/aleksis/core/frontend/routes.js
@@ -15,6 +15,9 @@ const routes = [
     path: "/account/login/",
     name: "core.account.login",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     meta: {
       inMenu: true,
       icon: "mdi-login-variant",
@@ -27,6 +30,9 @@ const routes = [
     path: "/accounts/signup/",
     name: "core.accounts.signup",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     meta: {
       inMenu: true,
       icon: "mdi-account-plus-outline",
@@ -39,6 +45,9 @@ const routes = [
     path: "/invitations/code/enter/",
     name: "core.invitations.enterCode",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     meta: {
       inMenu: true,
       icon: "mdi-key-outline",
@@ -50,6 +59,9 @@ const routes = [
     path: "",
     name: "dashboard",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     meta: {
       inMenu: true,
       icon: "mdi-home-outline",
@@ -71,6 +83,9 @@ const routes = [
       {
         path: "/persons",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.persons",
         meta: {
           inMenu: true,
@@ -82,6 +97,9 @@ const routes = [
       {
         path: "/persons/create/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.createPerson",
       },
       {
@@ -96,21 +114,33 @@ const routes = [
       {
         path: "/persons/:id(\\d+)/edit/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.editPerson",
       },
       {
         path: "/persons/:id(\\d+)/delete/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.deletePerson",
       },
       {
         path: "/persons/:id(\\d+)/invite/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.invitePerson",
       },
       {
         path: "/groups",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.groups",
         meta: {
           inMenu: true,
@@ -122,26 +152,41 @@ const routes = [
       {
         path: "/groups/create",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.createGroup",
       },
       {
         path: "/groups/:id(\\d+)",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.group",
       },
       {
         path: "/groups/:id(\\d+)/edit",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.editGroup",
       },
       {
         path: "/groups/:id(\\d+)/delete",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.deleteGroup",
       },
       {
         path: "/groups/group_types",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.groupTypes",
         meta: {
           inMenu: true,
@@ -153,22 +198,34 @@ const routes = [
       {
         path: "/groups/group_types/create",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.createGroupType",
       },
       {
         path: "/groups/group_types/:id(\\d+)/delete",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.deleteGroupType,",
       },
       {
         path: "/groups/group_types/:id(\\d+)/edit",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.editGroupType",
       },
 
       {
         path: "/groups/child_groups/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.groupsChildGroups",
         meta: {
           inMenu: true,
@@ -180,6 +237,9 @@ const routes = [
       {
         path: "/groups/additional_fields",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.additionalFields",
         meta: {
           inMenu: true,
@@ -191,21 +251,33 @@ const routes = [
       {
         path: "/groups/additional_fields/:id(\\d+)/edit",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.editAdditionalField,",
       },
       {
         path: "/groups/additional_fields/create",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.createAdditionalField",
       },
       {
         path: "/groups/additional_fields/:id(\\d+)/delete",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.deleteAdditionalField",
       },
       {
         path: "/invitations/send-invite",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.invite_person",
         meta: {
           inMenu: true,
@@ -219,6 +291,9 @@ const routes = [
   {
     path: "#",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.administration",
     meta: {
       inMenu: true,
@@ -230,6 +305,9 @@ const routes = [
       {
         path: "/announcements/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.announcements",
         meta: {
           inMenu: true,
@@ -241,21 +319,33 @@ const routes = [
       {
         path: "/announcements/create/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.addAnnouncement",
       },
       {
         path: "/announcements/edit/:id(\\d+)/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.editAnnouncement",
       },
       {
         path: "/announcements/delete/:id(\\d+)/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.deleteAnnouncement",
       },
       {
         path: "/school_terms/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.school_terms",
         meta: {
           inMenu: true,
@@ -267,16 +357,25 @@ const routes = [
       {
         path: "/school_terms/create/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.create_school_term",
       },
       {
         path: "/school_terms/:pk(\\d+)/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.editSchoolTerm",
       },
       {
         path: "/dashboard_widgets/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.dashboardWidgets",
         meta: {
           inMenu: true,
@@ -288,26 +387,41 @@ const routes = [
       {
         path: "/dashboard_widgets/:pk(\\d+)/edit/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.editDashboardWidget",
       },
       {
         path: "/dashboard_widgets/:pk(\\d+)/delete/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.deleteDashboardWidget",
       },
       {
         path: "/dashboard_widgets/:app/:model/new/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.createDashboardWidget",
       },
       {
         path: "/dashboard_widgets/default/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.editDefaultDashboard",
       },
       {
         path: "/status/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.system_status",
         meta: {
           inMenu: true,
@@ -319,6 +433,9 @@ const routes = [
       {
         path: "/preferences/site/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.preferencesSite",
         meta: {
           inMenu: true,
@@ -330,21 +447,33 @@ const routes = [
       {
         path: "/preferences/site/:pk(\\d+)/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.preferencesSiteByPk",
       },
       {
         path: "/preferences/site/:pk(\\d+)/:section/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.preferencesSiteByPkSection",
       },
       {
         path: "/preferences/site/:section/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.preferencesSiteSection",
       },
       {
         path: "/data_checks/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.checkData",
         meta: {
           inMenu: true,
@@ -356,17 +485,26 @@ const routes = [
       {
         path: "/data_checks/run/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.runDataChecks",
       },
       {
         path: "/data_checks/:pk(\\d+)/:solve_option/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.solveDataCheck",
       },
 
       {
         path: "/permissions/global/user/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.managerUserGlobalPermissions",
         meta: {
           inMenu: true,
@@ -378,52 +516,82 @@ const routes = [
       {
         path: "/permissions/global/group/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.manageGroupGlobalPermissions",
       },
       {
         path: "/permissions/object/user/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.manageUserObjectPermissions",
       },
       {
         path: "/permissions/object/group/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.manageGroupObjectPermissions",
       },
       {
         path: "/permissions/global/user/:pk(\\d+)/delete/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.deleteUserGlobalPermission,",
       },
       {
         path: "/permissions/global/group/:pk(\\d+)/delete/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.deleteGroupGlobalPermission",
       },
       {
         path: "/permissions/object/user/:pk(\\d+)/delete/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.deleteUserObjectPermission",
       },
       {
         path: "/permissions/object/group/:pk(\\d+)/delete/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.deleteGroupObjectPermission",
       },
       {
         path: "/permissions/assign/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.selectPermissionforAssign",
       },
       {
         path: "/permissions/:pk(\\d+)/assign/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.assignPermission",
       },
 
       {
         path: "/oauth/applications/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.oauthApplications",
         meta: {
           inMenu: true,
@@ -435,26 +603,41 @@ const routes = [
       {
         path: "/oauth/applications/register/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.registerOauthApplication,",
       },
       {
         path: "/oauth/applications/:pk(\\d+)/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.oauthApplication",
       },
       {
         path: "/oauth/applications/:pk(\\d+)/delete/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.delete_oauth2_application,",
       },
       {
         path: "/oauth/applications/:pk(\\d+)/edit/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.editOauthApplication",
       },
       {
         path: "/admin/",
         component: () => import("./components/LegacyBaseTemplate.vue"),
+        props: {
+          byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+        },
         name: "core.admin",
         meta: {
           inMenu: true,
@@ -469,6 +652,9 @@ const routes = [
   {
     path: "/impersonate/:uid(\\d+)/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "impersonate.impersonateByUserPk",
     meta: {
       invalidate: "leave",
@@ -480,6 +666,9 @@ const routes = [
   {
     path: "/impersonate/stop/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "impersonate.stop",
     meta: {
       invalidate: "leave",
@@ -488,6 +677,9 @@ const routes = [
   {
     path: "/person/",
     component: () => import("./components/person/PersonOverview.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.person",
     meta: {
       inAccountMenu: true,
@@ -499,6 +691,9 @@ const routes = [
   {
     path: "/preferences/person/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.preferencesPerson",
     meta: {
       inAccountMenu: true,
@@ -510,21 +705,33 @@ const routes = [
   {
     path: "/preferences/person/:pk(\\d+)/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.preferencesPersonByPk",
   },
   {
     path: "/preferences/person/:pk(\\d+)/:section/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.preferencesPersonByPkSection",
   },
   {
     path: "/preferences/person/:section/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.preferencesPersonSection",
   },
   {
     path: "/account/two_factor/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.twoFactor",
     meta: {
       inAccountMenu: true,
@@ -536,36 +743,57 @@ const routes = [
   {
     path: "/account/two_factor/setup/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.twoFactor.setup",
   },
   {
     path: "/account/two_factor/qrcode/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.twoFactor.qrcode",
   },
   {
     path: "/account/two_factor/setup/complete/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.twoFactor.setupComplete",
   },
   {
     path: "/account/two_factor/backup/tokens/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.twoFactor.backupTokens",
   },
   {
     path: "/account/two_factor/backup/phone/register",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.twoFactor.registerBackupPhone",
   },
   {
     path: "/account/two_factor/disable/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.twoFactor.disable",
   },
   {
     path: "/accounts/password/change/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.changePassword",
     meta: {
       inAccountMenu: true,
@@ -577,66 +805,105 @@ const routes = [
   {
     path: "/accounts/password/set/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.setPassword",
   },
   {
     path: "/accounts/password/reset/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.resetPassword",
   },
   {
     path: "/accounts/password/reset/done/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.resetPasswordDone",
   },
   {
     path: "/accounts/password/reset/key/:key/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.resetPasswordConfirm",
   },
   {
     path: "/accounts/password/reset/key/done/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.resetPasswordConfirmDone",
   },
   {
     path: "/accounts/inactive/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.inactive",
   },
   {
     path: "/accounts/email/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.email",
   },
   {
     path: "/accounts/confirm-email/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.confirmEmail",
   },
   {
     path: "/accounts/confirm-email/:key/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.confirmEmailKey",
   },
   {
     path: "/accounts/social/login/cancelled/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.socialLoginCancelled",
   },
   {
     path: "/accounts/social/login/error/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.socialLoginError",
   },
   {
     path: "/accounts/social/signup/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.socialSignup",
   },
   {
     path: "/accounts/social/connections/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.socialConnections",
     meta: {
       inAccountMenu: true,
@@ -648,6 +915,9 @@ const routes = [
   {
     path: "/oauth/authorized_tokens/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.oauth.authorizedTokens",
     meta: {
       inAccountMenu: true,
@@ -659,11 +929,17 @@ const routes = [
   {
     path: "/oauth/authorized_tokens/:pk(\\d+)/delete/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.oauth.deleteAuthorizedToken",
   },
   {
     path: "/accounts/logout/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.accounts.logout",
     meta: {
       inAccountMenu: true,
@@ -677,46 +953,73 @@ const routes = [
   {
     path: "/invitations/code/enter",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.enter_invitation_code",
   },
   {
     path: "/invitations/code/generate",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.generate_invitation_code",
   },
   {
     path: "/invitations/disabled",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.invite_disabled",
   },
   {
     path: "/dashboard/edit/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.editDashboard",
   },
   {
     path: "/preferences/group/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.preferencesGroup",
   },
   {
     path: "/preferences/group/:pk(\\d+)/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.preferencesGroupByPk",
   },
   {
     path: "/preferences/group/:pk(\\d+)/:section/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.preferencesGroupByPkSection",
   },
   {
     path: "/preferences/group/:section/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.preferencesGroupSection",
   },
   {
     path: "/health/pdf/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.testPdf",
   },
   {
@@ -727,6 +1030,9 @@ const routes = [
   {
     path: "/search/",
     component: () => import("./components/LegacyBaseTemplate.vue"),
+    props: {
+      byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
+    },
     name: "core.haystack_search",
   },
   {