Fix disappearing submission bug for student

This commit is contained in:
Ramon Wenger 2018-10-25 15:46:31 +02:00
parent adfd328e85
commit 0ab58b7582
3 changed files with 9 additions and 4 deletions

View File

@ -112,7 +112,7 @@
} }
} }
}, },
update(store, {data: {updateAssignment: {successful}}}) { update(store, {data: {updateAssignment: {successful, updatedAssignment}}}) {
try { try {
if (successful) { if (successful) {
const query = ASSIGNMENT_QUERY; const query = ASSIGNMENT_QUERY;
@ -120,7 +120,7 @@
id: assignment.id id: assignment.id
}; };
const data = store.readQuery({query, variables}); const data = store.readQuery({query, variables});
data.assignment = Object.assign({}, assignment); data.assignment = Object.assign({}, updatedAssignment);
store.writeQuery({query, variables, data}); store.writeQuery({query, variables, data});
} }
} catch (e) { } catch (e) {

View File

@ -1,5 +1,9 @@
#import "../fragments/assignmentParts.gql"
mutation UpdateAssignmentWithSuccess($input: UpdateAssignmentInput!) { mutation UpdateAssignmentWithSuccess($input: UpdateAssignmentInput!) {
updateAssignment(input: $input){ updateAssignment(input: $input){
successful successful
updatedAssignment {
...AssignmentParts
}
} }
} }

View File

@ -3,7 +3,7 @@ from graphene import relay
from api.utils import get_object from api.utils import get_object
from assignments.models import Assignment from assignments.models import Assignment
from assignments.schema.types import AssignmentNode from assignments.schema.types import AssignmentNode, StudentSubmissionNode
from .inputs import AssignmentInput from .inputs import AssignmentInput
@ -12,6 +12,7 @@ class UpdateAssignment(relay.ClientIDMutation):
assignment = graphene.Argument(AssignmentInput) assignment = graphene.Argument(AssignmentInput)
updated_assignment = graphene.Field(AssignmentNode) updated_assignment = graphene.Field(AssignmentNode)
submission = graphene.Field(StudentSubmissionNode)
successful = graphene.Boolean() successful = graphene.Boolean()
errors = graphene.List(graphene.String) errors = graphene.List(graphene.String)
@ -26,7 +27,7 @@ class UpdateAssignment(relay.ClientIDMutation):
if final is not None: if final is not None:
submission.final = final submission.final = final
submission.save() submission.save()
return cls(successful=True, updated_assignment=assignment, errors=None) return cls(successful=True, updated_assignment=assignment, submission=submission, errors=None)
class AssignmentMutations(object): class AssignmentMutations(object):