diff --git a/client/src/components/modules/ModuleFilter.vue b/client/src/components/modules/ModuleFilter.vue
new file mode 100644
index 00000000..5b984bae
--- /dev/null
+++ b/client/src/components/modules/ModuleFilter.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/client/src/pages/topic-page.vue b/client/src/pages/topic-page.vue
index 648e6735..fea4d32a 100644
--- a/client/src/pages/topic-page.vue
+++ b/client/src/pages/topic-page.vue
@@ -14,6 +14,9 @@
import ModuleTeaser from '@/components/modules/ModuleTeaser.vue';
+import ModuleFilter from '@/components/modules/ModuleFilter.vue';
import { defineAsyncComponent } from 'vue';
import TOPIC_QUERY from '@/graphql/gql/queries/topicQuery.gql';
import me from '@/mixins/me';
@@ -64,6 +68,7 @@ export default {
ModuleTeaser,
PlayIcon,
BulbIcon,
+ ModuleFilter,
},
apollo: {
@@ -170,6 +175,11 @@ export default {
grid-template-columns: 300px 1fr;
}
+ &__modulefilter {
+ width: 90%;
+ height: 40px;
+ }
+
&__navigation {
padding: 0 $medium-spacing;
display: none;
diff --git a/server/books/categorize_modules.py b/server/books/categorize_modules.py
new file mode 100644
index 00000000..94a81c02
--- /dev/null
+++ b/server/books/categorize_modules.py
@@ -0,0 +1,20 @@
+from books.models import Module
+import json
+
+def categorize_modules():
+ all_nodes = []
+
+ for module in Module.objects.all():
+ print(f"{module.get_parent() } {module.meta_title} : {module.title}")
+
+ nodes = [i.strip() for i in [module.get_parent().title] + module.meta_title.split(' – ')]
+ all_nodes.append(nodes)
+
+ print("")
+
+ for i in range(3):
+ leafs = [node[i] for node in all_nodes if len(node) > i+1]
+ leafs.sort()
+ print(f"{i}.: {set(leafs)}")
+
+
diff --git a/server/books/management/commands/categorize_modules.py b/server/books/management/commands/categorize_modules.py
new file mode 100644
index 00000000..934b90c8
--- /dev/null
+++ b/server/books/management/commands/categorize_modules.py
@@ -0,0 +1,11 @@
+from django.core.management import BaseCommand
+from books.categorize_modules import categorize_modules
+
+
+class Command(BaseCommand):
+ def handle(self, *args, **options):
+ self.stdout.write("Migrating Wagtail documents to Custommyskillbox documents")
+ categorize_modules()
+ self.stdout.write("Finish migration")
+
+