Update MyActivity query to include more activities
This commit is contained in:
parent
6f0cb0dd88
commit
1549cde151
|
|
@ -6,7 +6,7 @@ from graphene_django.debug import DjangoDebug
|
|||
# noinspection PyUnresolvedReferences
|
||||
from api import graphene_wagtail # Keep this import exactly here, it's necessary for StreamField conversion
|
||||
from assignments.schema.mutations import AssignmentMutations
|
||||
from assignments.schema.queries import AssignmentsQuery, StudentSubmissionQuery, MyActivityQuery
|
||||
from assignments.schema.queries import AssignmentsQuery, StudentSubmissionQuery
|
||||
from basicknowledge.queries import BasicKnowledgeQuery
|
||||
from books.schema.mutations.main import BookMutations
|
||||
from books.schema.queries import BookQuery
|
||||
|
|
@ -26,7 +26,7 @@ from registration.mutations_public import RegistrationMutations
|
|||
|
||||
|
||||
class Query(UsersQuery, AllUsersQuery, ModuleRoomsQuery, RoomsQuery, ObjectivesQuery, BookQuery, AssignmentsQuery,
|
||||
StudentSubmissionQuery, BasicKnowledgeQuery, PortfolioQuery, MyActivityQuery, SurveysQuery,
|
||||
StudentSubmissionQuery, BasicKnowledgeQuery, PortfolioQuery, SurveysQuery,
|
||||
graphene.ObjectType):
|
||||
node = relay.Node.Field()
|
||||
|
||||
|
|
|
|||
|
|
@ -12,11 +12,3 @@ class AssignmentsQuery(object):
|
|||
|
||||
class StudentSubmissionQuery(object):
|
||||
student_submission = relay.Node.Field(StudentSubmissionNode)
|
||||
|
||||
|
||||
class MyActivityQuery(object):
|
||||
my_activity = DjangoFilterConnectionField(StudentSubmissionNode)
|
||||
|
||||
def resolve_my_activity(self, info, **kwargs):
|
||||
user = info.context.user
|
||||
return StudentSubmission.objects.filter(student=user)
|
||||
|
|
|
|||
|
|
@ -4,10 +4,14 @@ from graphene_django import DjangoObjectType
|
|||
from graphene_django.filter import DjangoFilterConnectionField
|
||||
|
||||
from api.utils import get_object
|
||||
from assignments.models import StudentSubmission
|
||||
from assignments.schema.types import StudentSubmissionNode
|
||||
from books.utils import are_solutions_enabled_for
|
||||
from notes.models import ContentBlockBookmark, ChapterBookmark, ModuleBookmark
|
||||
from notes.schema import ContentBlockBookmarkNode, ChapterBookmarkNode, ModuleBookmarkNode
|
||||
from rooms.models import ModuleRoomSlug
|
||||
from surveys.models import Answer
|
||||
from surveys.schema import AnswerNode
|
||||
from ..models import Book, Topic, Module, Chapter, ContentBlock
|
||||
|
||||
|
||||
|
|
@ -103,6 +107,7 @@ class ChapterNode(DjangoObjectType):
|
|||
chapter=self
|
||||
).first()
|
||||
|
||||
|
||||
class ModuleNode(DjangoObjectType):
|
||||
pk = graphene.Int()
|
||||
chapters = DjangoFilterConnectionField(ChapterNode)
|
||||
|
|
@ -110,6 +115,10 @@ class ModuleNode(DjangoObjectType):
|
|||
hero_image = graphene.String()
|
||||
solutions_enabled = graphene.Boolean()
|
||||
bookmark = graphene.Field(ModuleBookmarkNode)
|
||||
my_submissions = DjangoFilterConnectionField(StudentSubmissionNode)
|
||||
my_answers = DjangoFilterConnectionField(AnswerNode)
|
||||
my_content_bookmarks = DjangoFilterConnectionField(ContentBlockBookmarkNode)
|
||||
my_chapter_bookmarks = DjangoFilterConnectionField(ChapterBookmarkNode)
|
||||
|
||||
class Meta:
|
||||
model = Module
|
||||
|
|
@ -145,6 +154,32 @@ class ModuleNode(DjangoObjectType):
|
|||
module=self
|
||||
).first()
|
||||
|
||||
def resolve_my_submissions(self, info, **kwargs):
|
||||
user = info.context.user
|
||||
return StudentSubmission.objects.filter(student=user, assignment__module=self)
|
||||
# we want:
|
||||
# StudentSubmission
|
||||
|
||||
def resolve_my_answers(self, info, **kwargs):
|
||||
user = info.context.user
|
||||
return Answer.objects.filter(owner=user, survey__module=self)
|
||||
# Survey
|
||||
|
||||
def resolve_my_content_bookmarks(self, info, **kwargs):
|
||||
user = info.context.user
|
||||
content_blocks = ContentBlock.objects.live().descendant_of(self)
|
||||
return ContentBlockBookmark.objects.filter(content_block__in=content_blocks, user=user)
|
||||
# Bookmark Text
|
||||
# Bookmark Image etc
|
||||
# Bookmark Other
|
||||
# Note
|
||||
#
|
||||
|
||||
def resolve_my_chapter_bookmarks(self, info, **kwargs):
|
||||
user = info.context.user
|
||||
chapters = Chapter.objects.live().descendant_of(self)
|
||||
return ChapterBookmark.objects.filter(chapter__in=chapters, user=user)
|
||||
|
||||
|
||||
class TopicNode(DjangoObjectType):
|
||||
pk = graphene.Int()
|
||||
|
|
@ -196,7 +231,7 @@ class FilteredChapterNode(DjangoObjectType):
|
|||
class Meta:
|
||||
model = Chapter
|
||||
only_fields = [
|
||||
'slug', 'title',
|
||||
'slug', 'title', 'description',
|
||||
]
|
||||
filter_fields = [
|
||||
'slug', 'title',
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ class ContentBlockBookmarkNode(DjangoObjectType):
|
|||
|
||||
class Meta:
|
||||
model = ContentBlockBookmark
|
||||
filter_fields = []
|
||||
interfaces = (relay.Node,)
|
||||
|
||||
|
||||
class ModuleBookmarkNode(DjangoObjectType):
|
||||
|
|
@ -37,3 +39,5 @@ class ChapterBookmarkNode(DjangoObjectType):
|
|||
|
||||
class Meta:
|
||||
model = ChapterBookmark
|
||||
filter_fields = []
|
||||
interfaces = (relay.Node,)
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ class AnswerNode(DjangoObjectType):
|
|||
class Meta:
|
||||
model = Answer
|
||||
interfaces = (relay.Node,)
|
||||
filter_fields = []
|
||||
|
||||
def resolve_pk(self, *args, **kwargs):
|
||||
return self.id
|
||||
|
|
|
|||
|
|
@ -3,6 +3,10 @@ from graphene import relay
|
|||
from graphene_django import DjangoObjectType
|
||||
from graphene_django.filter import DjangoFilterConnectionField
|
||||
|
||||
from assignments.models import StudentSubmission
|
||||
from assignments.schema.types import StudentSubmissionNode
|
||||
from books.models import Module
|
||||
from books.schema.queries import ModuleNode
|
||||
from users.models import User, SchoolClass
|
||||
|
||||
|
||||
|
|
@ -43,6 +47,7 @@ class UserNode(DjangoObjectType):
|
|||
class UsersQuery(object):
|
||||
me = graphene.Field(UserNode)
|
||||
all_users = DjangoFilterConnectionField(UserNode)
|
||||
my_activity = DjangoFilterConnectionField(ModuleNode)
|
||||
|
||||
def resolve_me(self, info, **kwargs):
|
||||
return info.context.user
|
||||
|
|
@ -53,6 +58,9 @@ class UsersQuery(object):
|
|||
else:
|
||||
return User.objects.all()
|
||||
|
||||
def resolve_my_activity(self, info, **kwargs):
|
||||
return Module.objects.all()
|
||||
|
||||
|
||||
class AllUsersQuery(object):
|
||||
me = graphene.Field(UserNode)
|
||||
|
|
@ -63,5 +71,3 @@ class AllUsersQuery(object):
|
|||
return User.objects.none()
|
||||
else:
|
||||
return User.objects.all()
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue