Remove `filteredbook` app
This commit is contained in:
parent
622365bfbd
commit
181a06424a
|
|
@ -8,7 +8,7 @@ from api import graphene_wagtail # Keep this import exactly here, it's necessar
|
||||||
from assignments.schema.mutations import AssignmentMutations
|
from assignments.schema.mutations import AssignmentMutations
|
||||||
from assignments.schema.queries import AssignmentsQuery
|
from assignments.schema.queries import AssignmentsQuery
|
||||||
from books.schema.mutations.main import BookMutations
|
from books.schema.mutations.main import BookMutations
|
||||||
from filteredbook.schema import BookQuery
|
from books.schema.queries import BookQuery
|
||||||
from objectives.mutations import ObjectiveMutations
|
from objectives.mutations import ObjectiveMutations
|
||||||
from objectives.schema import ObjectivesQuery
|
from objectives.schema import ObjectivesQuery
|
||||||
from rooms.mutations import RoomMutations
|
from rooms.mutations import RoomMutations
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ from graphene import relay
|
||||||
from graphene_django import DjangoObjectType
|
from graphene_django import DjangoObjectType
|
||||||
from graphene_django.filter import DjangoFilterConnectionField
|
from graphene_django.filter import DjangoFilterConnectionField
|
||||||
|
|
||||||
|
from api.utils import get_object
|
||||||
from ..models import Book, Topic, Module, Chapter, ContentBlock
|
from ..models import Book, Topic, Module, Chapter, ContentBlock
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -130,3 +131,55 @@ class BookNode(DjangoObjectType):
|
||||||
|
|
||||||
def resolve_topics(self, *args, **kwargs):
|
def resolve_topics(self, *args, **kwargs):
|
||||||
return Topic.get_by_parent(self)
|
return Topic.get_by_parent(self)
|
||||||
|
|
||||||
|
|
||||||
|
class FilteredChapterNode(DjangoObjectType):
|
||||||
|
content_blocks = DjangoFilterConnectionField(ContentBlockNode)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Chapter
|
||||||
|
only_fields = [
|
||||||
|
'slug', 'title',
|
||||||
|
]
|
||||||
|
filter_fields = [
|
||||||
|
'slug', 'title',
|
||||||
|
]
|
||||||
|
interfaces = (relay.Node,)
|
||||||
|
|
||||||
|
def resolve_content_blocks(self, *args, **kwargs):
|
||||||
|
return ContentBlock.get_by_parent(self)
|
||||||
|
|
||||||
|
|
||||||
|
class BookQuery(object):
|
||||||
|
book = relay.Node.Field(BookNode)
|
||||||
|
topic = relay.Node.Field(TopicNode)
|
||||||
|
module = graphene.Field(ModuleNode, slug=graphene.String())
|
||||||
|
chapter = relay.Node.Field(FilteredChapterNode)
|
||||||
|
content_block = relay.Node.Field(ContentBlockNode)
|
||||||
|
|
||||||
|
books = DjangoFilterConnectionField(BookNode)
|
||||||
|
topics = DjangoFilterConnectionField(TopicNode)
|
||||||
|
modules = DjangoFilterConnectionField(ModuleNode)
|
||||||
|
chapters = DjangoFilterConnectionField(FilteredChapterNode)
|
||||||
|
|
||||||
|
def resolve_books(self, *args, **kwargs):
|
||||||
|
return Book.objects.filter(**kwargs).live()
|
||||||
|
|
||||||
|
def resolve_topics(self, *args, **kwargs):
|
||||||
|
return Topic.objects.filter(**kwargs).live()
|
||||||
|
|
||||||
|
def resolve_modules(self, *args, **kwargs):
|
||||||
|
return Module.objects.filter(**kwargs).live()
|
||||||
|
|
||||||
|
def resolve_chapters(self, *args, **kwargs):
|
||||||
|
return Chapter.objects.filter(**kwargs).live()
|
||||||
|
|
||||||
|
def resolve_module(self, info, **kwargs):
|
||||||
|
slug = kwargs.get('slug')
|
||||||
|
id = kwargs.get('id')
|
||||||
|
|
||||||
|
if id is not None:
|
||||||
|
return get_object(Module, id)
|
||||||
|
if slug is not None:
|
||||||
|
return Module.objects.get(slug=slug)
|
||||||
|
return None
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,6 @@ INSTALLED_APPS = [
|
||||||
'books',
|
'books',
|
||||||
'objectives',
|
'objectives',
|
||||||
'rooms',
|
'rooms',
|
||||||
'filteredbook',
|
|
||||||
'assignments',
|
'assignments',
|
||||||
|
|
||||||
'wagtail.contrib.forms',
|
'wagtail.contrib.forms',
|
||||||
|
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
from django.apps import AppConfig
|
|
||||||
|
|
||||||
|
|
||||||
class FilteredbookConfig(AppConfig):
|
|
||||||
name = 'filteredbook'
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
import graphene
|
|
||||||
from graphene import relay
|
|
||||||
from graphene_django import DjangoObjectType
|
|
||||||
from graphene_django.filter import DjangoFilterConnectionField
|
|
||||||
|
|
||||||
from api.utils import get_object
|
|
||||||
from books.models import Book, Topic, Module, Chapter, ContentBlock
|
|
||||||
from books.schema.queries import BookNode, TopicNode, ModuleNode, ContentBlockNode
|
|
||||||
|
|
||||||
|
|
||||||
class FilteredChapterNode(DjangoObjectType):
|
|
||||||
content_blocks = DjangoFilterConnectionField(ContentBlockNode)
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
model = Chapter
|
|
||||||
only_fields = [
|
|
||||||
'slug', 'title',
|
|
||||||
]
|
|
||||||
filter_fields = [
|
|
||||||
'slug', 'title',
|
|
||||||
]
|
|
||||||
interfaces = (relay.Node,)
|
|
||||||
|
|
||||||
def resolve_content_blocks(self, *args, **kwargs):
|
|
||||||
return ContentBlock.get_by_parent(self)
|
|
||||||
|
|
||||||
|
|
||||||
class BookQuery(object):
|
|
||||||
book = relay.Node.Field(BookNode)
|
|
||||||
topic = relay.Node.Field(TopicNode)
|
|
||||||
module = graphene.Field(ModuleNode, slug=graphene.String())
|
|
||||||
chapter = relay.Node.Field(FilteredChapterNode)
|
|
||||||
content_block = relay.Node.Field(ContentBlockNode)
|
|
||||||
|
|
||||||
books = DjangoFilterConnectionField(BookNode)
|
|
||||||
topics = DjangoFilterConnectionField(TopicNode)
|
|
||||||
modules = DjangoFilterConnectionField(ModuleNode)
|
|
||||||
chapters = DjangoFilterConnectionField(FilteredChapterNode)
|
|
||||||
|
|
||||||
def resolve_books(self, *args, **kwargs):
|
|
||||||
return Book.objects.filter(**kwargs).live()
|
|
||||||
|
|
||||||
def resolve_topics(self, *args, **kwargs):
|
|
||||||
return Topic.objects.filter(**kwargs).live()
|
|
||||||
|
|
||||||
def resolve_modules(self, *args, **kwargs):
|
|
||||||
return Module.objects.filter(**kwargs).live()
|
|
||||||
|
|
||||||
def resolve_chapters(self, *args, **kwargs):
|
|
||||||
return Chapter.objects.filter(**kwargs).live()
|
|
||||||
|
|
||||||
def resolve_module(self, info, **kwargs):
|
|
||||||
slug = kwargs.get('slug')
|
|
||||||
id = kwargs.get('id')
|
|
||||||
|
|
||||||
if id is not None:
|
|
||||||
return get_object(Module, id)
|
|
||||||
if slug is not None:
|
|
||||||
return Module.objects.get(slug=slug)
|
|
||||||
return None
|
|
||||||
Loading…
Reference in New Issue