Restrict objective groups for students
This commit is contained in:
parent
6e5b829ea1
commit
d372905d7b
|
|
@ -56,11 +56,6 @@ class ChapterNode(DjangoObjectType):
|
||||||
|
|
||||||
return publisher_content_blocks.union(user_created_content_blocks)
|
return publisher_content_blocks.union(user_created_content_blocks)
|
||||||
|
|
||||||
# if user.has_perm('users.can_manage_school_class_content'):
|
|
||||||
# return ContentBlock.get_by_parent(self)
|
|
||||||
# else:
|
|
||||||
# return ContentBlock.get_by_parent(self)
|
|
||||||
|
|
||||||
|
|
||||||
class ModuleNode(DjangoObjectType):
|
class ModuleNode(DjangoObjectType):
|
||||||
pk = graphene.Int()
|
pk = graphene.Int()
|
||||||
|
|
@ -88,6 +83,22 @@ class ModuleNode(DjangoObjectType):
|
||||||
def resolve_chapters(self, info, **kwargs):
|
def resolve_chapters(self, info, **kwargs):
|
||||||
return Chapter.get_by_parent(self)
|
return Chapter.get_by_parent(self)
|
||||||
|
|
||||||
|
def resolve_objective_groups(self, info, **kwargs):
|
||||||
|
user = info.context.user
|
||||||
|
school_classes = user.school_classes.values_list('pk')
|
||||||
|
|
||||||
|
if user.has_perm('users.can_manage_school_class_content'): # teacher
|
||||||
|
publisher_objective_groups = self.objective_groups.filter(owner=None)
|
||||||
|
user_created_objective_groups = self.objective_groups.filter(owner=user)
|
||||||
|
else: # student
|
||||||
|
publisher_objective_groups = self.objective_groups.filter(owner=None).exclude(
|
||||||
|
hidden_for__in=school_classes)
|
||||||
|
|
||||||
|
user_created_objective_groups = self.objective_groups.filter(owner__isnull=False,
|
||||||
|
visible_for__in=school_classes)
|
||||||
|
|
||||||
|
return publisher_objective_groups.union(user_created_objective_groups)
|
||||||
|
|
||||||
|
|
||||||
class TopicNode(DjangoObjectType):
|
class TopicNode(DjangoObjectType):
|
||||||
pk = graphene.Int()
|
pk = graphene.Int()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue