Filter Modules by Id
This commit is contained in:
parent
aa095ac7ea
commit
f60f0d68da
|
|
@ -104,14 +104,14 @@
|
|||
// filter by Lehrjahr
|
||||
if (selectedCategory.value.name !== '---') {
|
||||
filteredModules = filteredModules.filter((module) => {
|
||||
return module.categoryName.includes(selectedCategory.value.name);
|
||||
return module.category.id == selectedCategory.value.id;
|
||||
});
|
||||
}
|
||||
|
||||
//filter by Lernfeld
|
||||
if (selectedLernfeld.value.name !== '---') {
|
||||
filteredModules = filteredModules.filter((module) => {
|
||||
return module.categoryTypeName.includes(selectedLernfeld.value.name);
|
||||
return module.categoryType.id == selectedLernfeld.value.id;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<p class="module-teaser__description">
|
||||
{{ teaser }}
|
||||
</p>
|
||||
<span :value="attribute" v-for="attribute in [categoryName, categoryTypeName]">
|
||||
<span :value="attribute" v-for="attribute in [category.name, categoryType.name]">
|
||||
<div class="module-teaser__module-category" v-if="attribute">{{attribute}}</div>
|
||||
</span>
|
||||
</div>
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
<script>
|
||||
export default {
|
||||
props: ['metaTitle', 'title', 'teaser', 'id', 'slug', 'heroImage', 'categoryName', 'categoryTypeName'],
|
||||
props: ['metaTitle', 'title', 'teaser', 'id', 'slug', 'heroImage', 'category', 'categoryType'],
|
||||
|
||||
computed: {
|
||||
moduleLink() {
|
||||
|
|
|
|||
|
|
@ -9,8 +9,14 @@ fragment ModuleParts on ModuleNode {
|
|||
heroSource
|
||||
solutionsEnabled
|
||||
inEditMode @client
|
||||
categoryName
|
||||
categoryTypeName
|
||||
category {
|
||||
id
|
||||
name
|
||||
}
|
||||
categoryType {
|
||||
id
|
||||
name
|
||||
}
|
||||
topic {
|
||||
slug
|
||||
title
|
||||
|
|
|
|||
|
|
@ -6,9 +6,11 @@ from graphene_django.filter import DjangoFilterConnectionField
|
|||
|
||||
from assignments.models import StudentSubmission
|
||||
from assignments.schema.types import AssignmentNode, StudentSubmissionNode
|
||||
from books.models import Module, Chapter, ContentBlock, RecentModule
|
||||
from books.models import Module, Chapter, ContentBlock, RecentModule, ModuleCategory, ModuleType
|
||||
from books.schema.interfaces.module import ModuleInterface
|
||||
from books.schema.nodes.chapter import ChapterNode
|
||||
from books.schema.nodes.module_category import ModuleCategoryNode
|
||||
from books.schema.nodes.module_category_type import ModuleCategoryTypeNode
|
||||
from notes.models import ModuleBookmark, ContentBlockBookmark, ChapterBookmark
|
||||
from notes.schema import (
|
||||
ModuleBookmarkNode,
|
||||
|
|
@ -34,8 +36,8 @@ class ModuleNode(DjangoObjectType):
|
|||
"hero_image",
|
||||
"hero_source",
|
||||
"topic",
|
||||
"category_name",
|
||||
"category_type_name",
|
||||
"category",
|
||||
"category_type",
|
||||
]
|
||||
filter_fields = {
|
||||
"slug": ["exact", "icontains", "in"],
|
||||
|
|
@ -54,8 +56,8 @@ class ModuleNode(DjangoObjectType):
|
|||
snapshots = graphene.List("books.schema.nodes.SnapshotNode")
|
||||
objective_groups = graphene.List(ObjectiveGroupNode)
|
||||
assignments = graphene.List(AssignmentNode)
|
||||
category_name = graphene.String()
|
||||
category_type_name = graphene.String()
|
||||
category = graphene.Field(ModuleCategoryNode)
|
||||
category_type = graphene.Field(ModuleCategoryTypeNode)
|
||||
|
||||
def resolve_chapters(self, info, **kwargs):
|
||||
return Chapter.get_by_parent(self)
|
||||
|
|
@ -106,7 +108,13 @@ class ModuleNode(DjangoObjectType):
|
|||
|
||||
@staticmethod
|
||||
def resolve_objective_groups(parent, info, **kwargs):
|
||||
return parent.objective_groups.all().prefetch_related("hidden_for")
|
||||
return parent.objective_groups.all().prefetch_related("hidden_for") @ staticmethod
|
||||
|
||||
def resolve_category(self, info, **kwargs):
|
||||
return ModuleCategory.objects.get(pk=self.category_id) if self.category_id else None
|
||||
|
||||
def resolve_category_type(self, info, **kwargs):
|
||||
return ModuleType.objects.get(pk=self.category_type_id) if self.category_type_id else None
|
||||
|
||||
@staticmethod
|
||||
def resolve_snapshots(parent, info, **kwargs):
|
||||
|
|
@ -119,6 +127,7 @@ class ModuleNode(DjangoObjectType):
|
|||
def resolve_assignments(parent: Module, info, **kwargs):
|
||||
return parent.assignments.all()
|
||||
|
||||
|
||||
class RecentModuleNode(DjangoObjectType):
|
||||
class Meta:
|
||||
model = RecentModule
|
||||
|
|
|
|||
Loading…
Reference in New Issue