Change submissionfeedback to submission_feedback or submissionFeedback,
respectively
This commit is contained in:
parent
84a69b24f1
commit
89e3925590
|
|
@ -9,8 +9,8 @@
|
|||
<student-submission-document :document="submission.document" class="entry-document"></student-submission-document>
|
||||
</p>
|
||||
</div>
|
||||
<div class="student-submission__feedback entry" v-if="submission.submissionfeedback">
|
||||
<p class="entry__text" :class="{'entry__text--final': submission.submissionfeedback.final}">{{submission.submissionfeedback.text | trimToLength(50)}}</p>
|
||||
<div class="student-submission__feedback entry" v-if="submission.submissionFeedback">
|
||||
<p class="entry__text" :class="{'entry__text--final': submission.submissionFeedback.final}">{{submission.submissionFeedback.text | trimToLength(50)}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
>
|
||||
</submission-form>
|
||||
|
||||
<div v-if="this.assignment.submission.submissionfeedback" class="assignment__feedback">
|
||||
<div v-if="this.assignment.submission.submissionFeedback" class="assignment__feedback">
|
||||
<p>{{feedbackText}}</p>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
return this.assignment.id ? this.assignment.id.replace(/=/g, '') : ''
|
||||
},
|
||||
feedbackText() {
|
||||
let feedback = this.assignment.submission.submissionfeedback;
|
||||
let feedback = this.assignment.submission.submissionFeedback;
|
||||
return `Feedback von ${feedback.teacher.firstName} ${feedback.teacher.lastName}: ${feedback.text}`;
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ query AssignmentWithSubmissions($id: ID!) {
|
|||
}
|
||||
}
|
||||
}
|
||||
submissionfeedback {
|
||||
submissionFeedback {
|
||||
id
|
||||
text
|
||||
final
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ fragment AssignmentParts on AssignmentNode {
|
|||
text
|
||||
final
|
||||
document
|
||||
submissionfeedback {
|
||||
submissionFeedback {
|
||||
id
|
||||
text
|
||||
teacher {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ query StudentSubmissions($id: ID!) {
|
|||
title
|
||||
assignment
|
||||
}
|
||||
submissionfeedback {
|
||||
submissionFeedback {
|
||||
id
|
||||
text
|
||||
final
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
return `${this.studentSubmission.student.firstName} ${this.studentSubmission.student.lastName}`
|
||||
},
|
||||
feedback() {
|
||||
return this.studentSubmission.submissionfeedback ? this.studentSubmission.submissionfeedback : {text: '', final: false};
|
||||
return this.studentSubmission.submissionFeedback ? this.studentSubmission.submissionFeedback : {text: '', final: false};
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
input: {
|
||||
submissionFeedback: {
|
||||
studentSubmission: this.studentSubmission.id,
|
||||
text: this.studentSubmission.submissionfeedback.text,
|
||||
text: this.studentSubmission.submissionFeedback.text,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -120,7 +120,7 @@
|
|||
input: {
|
||||
submissionFeedback: {
|
||||
studentSubmission: this.studentSubmission.id,
|
||||
text: this.studentSubmission.submissionfeedback.text,
|
||||
text: this.studentSubmission.submissionFeedback.text,
|
||||
final: true
|
||||
}
|
||||
}
|
||||
|
|
@ -139,7 +139,7 @@
|
|||
input: {
|
||||
submissionFeedback: {
|
||||
studentSubmission: this.studentSubmission.id,
|
||||
text: this.studentSubmission.submissionfeedback.text,
|
||||
text: this.studentSubmission.submissionFeedback.text,
|
||||
final: false
|
||||
}
|
||||
}
|
||||
|
|
@ -156,7 +156,7 @@
|
|||
};
|
||||
const data = store.readQuery({query, variables});
|
||||
|
||||
data.studentSubmission.submissionfeedback = Object.assign({}, updatedSubmissionFeedback);
|
||||
data.studentSubmission.submissionFeedback = Object.assign({}, updatedSubmissionFeedback);
|
||||
store.writeQuery({query, variables, data});
|
||||
}
|
||||
} catch (e) {
|
||||
|
|
@ -166,7 +166,7 @@
|
|||
},
|
||||
updateFeedbackText(text) {
|
||||
this.studentSubmission = Object.assign({}, this.studentSubmission, {
|
||||
submissionfeedback: Object.assign({}, this.studentSubmission.submissionfeedback, {text: text})
|
||||
submissionFeedback: Object.assign({}, this.studentSubmission.submissionFeedback, {text: text})
|
||||
})
|
||||
}
|
||||
},
|
||||
|
|
@ -183,7 +183,7 @@
|
|||
},
|
||||
text: '',
|
||||
document: '',
|
||||
submissionfeedback: {
|
||||
submissionFeedback: {
|
||||
text: '',
|
||||
final: false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,6 +42,6 @@ class StudentSubmission(TimeStampedModel):
|
|||
class SubmissionFeedback(TimeStampedModel):
|
||||
text = models.TextField(blank=True)
|
||||
teacher = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, related_name='feedbacks')
|
||||
student_submission = models.OneToOneField(StudentSubmission, on_delete=models.CASCADE, primary_key=True)
|
||||
student_submission = models.OneToOneField(StudentSubmission, on_delete=models.CASCADE, primary_key=True, related_name='submission_feedback')
|
||||
final = models.BooleanField(default=False)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,31 +15,31 @@ class SubmissionFeedbackNode(DjangoObjectType):
|
|||
|
||||
|
||||
class StudentSubmissionNode(DjangoObjectType):
|
||||
submissionfeedback = graphene.Field(SubmissionFeedbackNode)
|
||||
submission_feedback = graphene.Field(SubmissionFeedbackNode)
|
||||
|
||||
class Meta:
|
||||
model = StudentSubmission
|
||||
filter_fields = []
|
||||
interfaces = (relay.Node,)
|
||||
|
||||
def resolve_submissionfeedback(self, info, **kwargs):
|
||||
def resolve_submission_feedback(self, info, **kwargs):
|
||||
|
||||
user = info.context.user
|
||||
|
||||
if not hasattr(self, 'submissionfeedback'):
|
||||
if not hasattr(self, 'submission_feedback'):
|
||||
return None
|
||||
|
||||
# teacher path
|
||||
if user.has_perm('users.can_manage_school_class_content'):
|
||||
if self.submissionfeedback.teacher == user:
|
||||
return self.submissionfeedback
|
||||
if self.submission_feedback.teacher == user:
|
||||
return self.submission_feedback
|
||||
else:
|
||||
raise PermissionDenied('Missing permissions')
|
||||
|
||||
# student path
|
||||
|
||||
if self.submissionfeedback.final:
|
||||
return self.submissionfeedback
|
||||
if self.submission_feedback.final:
|
||||
return self.submission_feedback
|
||||
|
||||
return None
|
||||
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ class SubmissionFeedbackTestCase(DefaultUserTestCase):
|
|||
id
|
||||
text
|
||||
document
|
||||
submissionfeedback {
|
||||
submission_feedback {
|
||||
text
|
||||
}
|
||||
}
|
||||
|
|
@ -89,7 +89,7 @@ class SubmissionFeedbackTestCase(DefaultUserTestCase):
|
|||
id
|
||||
text
|
||||
document
|
||||
submissionfeedback {
|
||||
submission_feedback {
|
||||
text
|
||||
}
|
||||
}
|
||||
|
|
@ -110,7 +110,7 @@ class SubmissionFeedbackTestCase(DefaultUserTestCase):
|
|||
id
|
||||
text
|
||||
document
|
||||
submissionfeedback {
|
||||
submission_feedback {
|
||||
text
|
||||
}
|
||||
}
|
||||
|
|
@ -173,14 +173,14 @@ class SubmissionFeedbackTestCase(DefaultUserTestCase):
|
|||
SubmissionFeedbackFactory(teacher=self.teacher, final=False, student_submission=self.student_submission)
|
||||
result = self._fetch_assignment_student(self.student1)
|
||||
|
||||
self.assertIsNone(result.get('data').get('submissionfeedback'))
|
||||
self.assertIsNone(result.get('data').get('submission_feedback'))
|
||||
|
||||
def test_student_does_see_final_feedback(self):
|
||||
|
||||
submission_feedback = SubmissionFeedbackFactory(teacher=self.teacher, final=True,
|
||||
student_submission=self.student_submission)
|
||||
result = self._fetch_assignment_student(self.student1)
|
||||
self.assertEqual(result.get('data').get('assignment').get('submission').get('submissionfeedback')
|
||||
self.assertEqual(result.get('data').get('assignment').get('submission').get('submission_feedback')
|
||||
.get('text'), submission_feedback.text)
|
||||
|
||||
def test_teacher_can_see_feedback_for_submission(self):
|
||||
|
|
@ -190,7 +190,7 @@ class SubmissionFeedbackTestCase(DefaultUserTestCase):
|
|||
self.student_submission.save()
|
||||
|
||||
result = self._fetch_assignment_teacher(self.teacher)
|
||||
self.assertEqual(result.get('data').get('assignment').get('submissions')[0].get('submissionfeedback')
|
||||
self.assertEqual(result.get('data').get('assignment').get('submissions')[0].get('submission_feedback')
|
||||
.get('text'), submission_feedback.text)
|
||||
|
||||
def test_rogue_teacher_cannot_see_feedback(self):
|
||||
|
|
@ -200,4 +200,4 @@ class SubmissionFeedbackTestCase(DefaultUserTestCase):
|
|||
self.student_submission.save()
|
||||
|
||||
result = self._fetch_assignment_teacher(self.teacher2)
|
||||
self.assertIsNone(result.get('data').get('assignment').get('submissions')[0].get('submissionfeedback'))
|
||||
self.assertIsNone(result.get('data').get('assignment').get('submissions')[0].get('submission_feedback'))
|
||||
|
|
|
|||
Loading…
Reference in New Issue