diff --git a/client/src/graphql/gql/surveyQuery.gql b/client/src/graphql/gql/surveyQuery.gql
index 19f60bd7..1025e82a 100644
--- a/client/src/graphql/gql/surveyQuery.gql
+++ b/client/src/graphql/gql/surveyQuery.gql
@@ -3,6 +3,9 @@ query SurveyQuery($id: ID!) {
id
title
data
+ module {
+ id
+ }
answer {
data
}
diff --git a/client/src/pages/survey.vue b/client/src/pages/survey.vue
index 7750314c..d8dd32f6 100644
--- a/client/src/pages/survey.vue
+++ b/client/src/pages/survey.vue
@@ -3,7 +3,7 @@
{{title}}
-
+
@@ -15,6 +15,7 @@
import {css} from '@/survey.config'
import SURVEY_QUERY from '@/graphql/gql/surveyQuery.gql';
+ import MODULE_QUERY from '@/graphql/gql/moduleByIdQuery.gql';
import UPDATE_ANSWER from '@/graphql/gql/mutations/updateAnswer.gql';
import Solution from '@/components/content-blocks/Solution';
@@ -33,7 +34,8 @@
data() {
return {
survey: this.initSurvey(),
- title: ''
+ title: '',
+ module: {}
}
},
@@ -134,6 +136,14 @@
this.survey = this.initSurvey(json, answer);
this.title = json.title;
+ const module = data.survey.module;
+
+ this.$apollo.addSmartQuery('module', {
+ query: MODULE_QUERY,
+ variables: {
+ id: module.id
+ }
+ });
}
},
}
diff --git a/server/books/models/module.py b/server/books/models/module.py
index a33d762f..4d750aa9 100644
--- a/server/books/models/module.py
+++ b/server/books/models/module.py
@@ -58,4 +58,3 @@ class Module(StrictHierarchyPage):
def get_child_ids(self):
return self.get_children().values_list('id', flat=True)
-
diff --git a/server/books/schema/queries.py b/server/books/schema/queries.py
index 31b2e5f8..c184e509 100644
--- a/server/books/schema/queries.py
+++ b/server/books/schema/queries.py
@@ -120,7 +120,8 @@ class ModuleNode(DjangoObjectType):
return self.get_parent().specific
def resolve_solutions_enabled(self, info, **kwargs):
- return self.solutions_enabled_by.filter(pk=info.context.user.pk).exists()
+ teacher = info.context.user.get_teacher()
+ return self.solutions_enabled_by.filter(pk=teacher.pk).exists() if teacher is not None else False
class TopicNode(DjangoObjectType):
@@ -187,7 +188,7 @@ class FilteredChapterNode(DjangoObjectType):
class BookQuery(object):
book = relay.Node.Field(BookNode)
topic = graphene.Field(TopicNode, slug=graphene.String())
- module = graphene.Field(ModuleNode, slug=graphene.String())
+ module = graphene.Field(ModuleNode, slug=graphene.String(), id=graphene.ID())
chapter = relay.Node.Field(FilteredChapterNode)
content_block = relay.Node.Field(ContentBlockNode)