Remove `filteredbook` app

This commit is contained in:
Ramon Wenger 2018-10-18 20:04:51 +02:00
parent 622365bfbd
commit 181a06424a
7 changed files with 54 additions and 69 deletions

View File

@ -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.queries import AssignmentsQuery
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.schema import ObjectivesQuery
from rooms.mutations import RoomMutations

View File

@ -3,6 +3,7 @@ from graphene import relay
from graphene_django import DjangoObjectType
from graphene_django.filter import DjangoFilterConnectionField
from api.utils import get_object
from ..models import Book, Topic, Module, Chapter, ContentBlock
@ -130,3 +131,55 @@ class BookNode(DjangoObjectType):
def resolve_topics(self, *args, **kwargs):
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

View File

@ -49,7 +49,6 @@ INSTALLED_APPS = [
'books',
'objectives',
'rooms',
'filteredbook',
'assignments',
'wagtail.contrib.forms',

View File

@ -1,5 +0,0 @@
from django.apps import AppConfig
class FilteredbookConfig(AppConfig):
name = 'filteredbook'

View File

@ -1,2 +0,0 @@

View File

@ -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