Fix vanishing text bug on submission feedback
This commit is contained in:
parent
80382d6bb5
commit
ecec97a411
|
|
@ -112,6 +112,9 @@
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
result({data: {studentSubmission}}) {
|
result({data: {studentSubmission}}) {
|
||||||
|
if (!studentSubmission.submissionFeedback) { // create something for the cache to find
|
||||||
|
this.create();
|
||||||
|
}
|
||||||
this.studentSubmission = cloneDeep(studentSubmission); // we don't want to update the value when the server updates
|
this.studentSubmission = cloneDeep(studentSubmission); // we don't want to update the value when the server updates
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -152,6 +155,21 @@
|
||||||
this.updateFeedbackText(feedbackText);
|
this.updateFeedbackText(feedbackText);
|
||||||
this._save();
|
this._save();
|
||||||
},
|
},
|
||||||
|
create() {
|
||||||
|
this.$apollo.mutate({
|
||||||
|
mutation: UPDATE_FEEDBACK_WITH_TEXT_MUTATION,
|
||||||
|
variables: {
|
||||||
|
input: {
|
||||||
|
submissionFeedback: {
|
||||||
|
studentSubmission: this.studentSubmission.id,
|
||||||
|
text: '',
|
||||||
|
final: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
update: this.updateCache
|
||||||
|
});
|
||||||
|
},
|
||||||
turnIn() {
|
turnIn() {
|
||||||
this.$apollo.mutate({
|
this.$apollo.mutate({
|
||||||
mutation: UPDATE_FEEDBACK_WITH_TEXT_MUTATION,
|
mutation: UPDATE_FEEDBACK_WITH_TEXT_MUTATION,
|
||||||
|
|
@ -195,12 +213,14 @@
|
||||||
};
|
};
|
||||||
const data = store.readQuery({query, variables});
|
const data = store.readQuery({query, variables});
|
||||||
|
|
||||||
data.studentSubmission.submissionFeedback = Object.assign({}, data.studentSubmission.submissionFeedback, {
|
if (data) {
|
||||||
id: updatedSubmissionFeedback.id,
|
data.studentSubmission.submissionFeedback = Object.assign({}, data.studentSubmission.submissionFeedback, {
|
||||||
final: updatedSubmissionFeedback.final
|
id: updatedSubmissionFeedback.id,
|
||||||
});
|
final: updatedSubmissionFeedback.final
|
||||||
|
});
|
||||||
|
|
||||||
store.writeQuery({query, variables, data});
|
store.writeQuery({query, variables, data});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
# Register your models here.
|
# Register your models here.
|
||||||
from assignments.models import Assignment, StudentSubmission
|
from assignments.models import Assignment, StudentSubmission, SubmissionFeedback
|
||||||
|
|
||||||
|
|
||||||
@admin.register(Assignment)
|
@admin.register(Assignment)
|
||||||
|
|
@ -13,3 +13,7 @@ class AssignmentAdmin(admin.ModelAdmin):
|
||||||
class StudentSubmissionAdmin(admin.ModelAdmin):
|
class StudentSubmissionAdmin(admin.ModelAdmin):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@admin.register(SubmissionFeedback)
|
||||||
|
class SubmissionFeedbackAdmin(admin.ModelAdmin):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,3 +46,7 @@ class SubmissionFeedback(TimeStampedModel):
|
||||||
student_submission = models.OneToOneField(StudentSubmission, on_delete=models.CASCADE, primary_key=True, related_name='submission_feedback')
|
student_submission = models.OneToOneField(StudentSubmission, on_delete=models.CASCADE, primary_key=True, related_name='submission_feedback')
|
||||||
final = models.BooleanField(default=False)
|
final = models.BooleanField(default=False)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return '{} - {}'.format(self.student_submission.student.full_name, self.text)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue