Add solution to assignment model
This commit is contained in:
parent
0b75e14393
commit
3b6284e753
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 2.0.6 on 2019-02-13 14:57
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('assignments', '0004_auto_20190210_2113'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='assignment',
|
||||
name='solution',
|
||||
field=models.TextField(blank=True, null=True),
|
||||
),
|
||||
]
|
||||
|
|
@ -9,6 +9,7 @@ from wagtail.snippets.models import register_snippet
|
|||
class Assignment(TimeStampedModel):
|
||||
title = models.CharField(max_length=255)
|
||||
assignment = models.TextField()
|
||||
solution = models.TextField(null=True, blank=True)
|
||||
deleted = models.BooleanField(default=False)
|
||||
owner = models.ForeignKey(get_user_model(),
|
||||
on_delete=models.PROTECT) # probably don't want to delete all assignments if a user gets deleted
|
||||
|
|
@ -18,6 +19,7 @@ class Assignment(TimeStampedModel):
|
|||
panels = [
|
||||
FieldPanel('title'),
|
||||
FieldPanel('assignment'),
|
||||
FieldPanel('solution'),
|
||||
FieldPanel('module'),
|
||||
FieldPanel('owner'),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ from graphene import relay
|
|||
from graphene_django import DjangoObjectType
|
||||
|
||||
from assignments.models import Assignment, StudentSubmission
|
||||
from books.utils import are_solutions_enabled_for
|
||||
|
||||
|
||||
class StudentSubmissionNode(DjangoObjectType):
|
||||
|
|
@ -29,3 +30,9 @@ class AssignmentNode(DjangoObjectType):
|
|||
if user.has_perm('users.can_manage_school_class_content'):
|
||||
return self.submissions.filter(student__in=user.users_in_same_school_class()).filter(final=True)
|
||||
return []
|
||||
|
||||
def resolve_solution(self, info, **kwargs):
|
||||
if are_solutions_enabled_for(info.context.user, self.module) and self.solution is not None:
|
||||
return self.solution
|
||||
else:
|
||||
return None
|
||||
|
|
|
|||
Loading…
Reference in New Issue