diff --git a/client/src/components/content-blocks/assignment/Assignment.vue b/client/src/components/content-blocks/assignment/Assignment.vue index 811234a2..9279ecb5 100644 --- a/client/src/components/content-blocks/assignment/Assignment.vue +++ b/client/src/components/content-blocks/assignment/Assignment.vue @@ -112,7 +112,7 @@ } } }, - update(store, {data: {updateAssignment: {successful}}}) { + update(store, {data: {updateAssignment: {successful, updatedAssignment}}}) { try { if (successful) { const query = ASSIGNMENT_QUERY; @@ -120,7 +120,7 @@ id: assignment.id }; const data = store.readQuery({query, variables}); - data.assignment = Object.assign({}, assignment); + data.assignment = Object.assign({}, updatedAssignment); store.writeQuery({query, variables, data}); } } catch (e) { diff --git a/client/src/graphql/gql/mutations/updateAssignmentMutationWithSuccess.gql b/client/src/graphql/gql/mutations/updateAssignmentMutationWithSuccess.gql index d034bbb1..b2aec07a 100644 --- a/client/src/graphql/gql/mutations/updateAssignmentMutationWithSuccess.gql +++ b/client/src/graphql/gql/mutations/updateAssignmentMutationWithSuccess.gql @@ -1,5 +1,9 @@ +#import "../fragments/assignmentParts.gql" mutation UpdateAssignmentWithSuccess($input: UpdateAssignmentInput!) { updateAssignment(input: $input){ successful + updatedAssignment { + ...AssignmentParts + } } } diff --git a/server/assignments/schema/mutations.py b/server/assignments/schema/mutations.py index 91163f11..d0ba62b0 100644 --- a/server/assignments/schema/mutations.py +++ b/server/assignments/schema/mutations.py @@ -3,7 +3,7 @@ from graphene import relay from api.utils import get_object from assignments.models import Assignment -from assignments.schema.types import AssignmentNode +from assignments.schema.types import AssignmentNode, StudentSubmissionNode from .inputs import AssignmentInput @@ -12,6 +12,7 @@ class UpdateAssignment(relay.ClientIDMutation): assignment = graphene.Argument(AssignmentInput) updated_assignment = graphene.Field(AssignmentNode) + submission = graphene.Field(StudentSubmissionNode) successful = graphene.Boolean() errors = graphene.List(graphene.String) @@ -26,7 +27,7 @@ class UpdateAssignment(relay.ClientIDMutation): if final is not None: submission.final = final 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):