From 55b9822e77f888d2065a807f697d067d56508ec0 Mon Sep 17 00:00:00 2001 From: "robinwilliam.hundt" <robinwilliam.hundt@stud.uni-goettingen.de> Date: Mon, 19 Feb 2018 09:24:17 +0100 Subject: [PATCH] FINALLY fix final checkbox --- .../toolbars/AnnotatedSubmissionBottomToolbar.vue | 3 ++- frontend/src/store/modules/submission-notes.js | 1 + frontend/src/store/mutations.js | 12 ++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue b/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue index b34f78f7..4d0d5bff 100644 --- a/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue +++ b/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue @@ -61,7 +61,8 @@ data () { return { scoreError: '', - isFinal: !this.$store.getters['submissionNotes/isFeedbackCreation'] || this.$store.getters.isReviewer + isFinal: this.$store.state.submissionNotes.origFeedback.isFinal || + !this.$store.getters['submissionNotes/isFeedbackCreation'] || this.$store.getters.isReviewer } }, props: { diff --git a/frontend/src/store/modules/submission-notes.js b/frontend/src/store/modules/submission-notes.js index c25e9954..1c0cd792 100644 --- a/frontend/src/store/modules/submission-notes.js +++ b/frontend/src/store/modules/submission-notes.js @@ -31,6 +31,7 @@ function initialState () { hasOrigFeedback: false, origFeedback: { score: null, + isFinal: false, feedback_lines: {} }, updatedFeedback: { diff --git a/frontend/src/store/mutations.js b/frontend/src/store/mutations.js index 98a5330b..fdd4d9ed 100644 --- a/frontend/src/store/mutations.js +++ b/frontend/src/store/mutations.js @@ -36,9 +36,21 @@ const mutations = { acc[curr['pk']] = curr return acc }, {}) + for (let subscription of Object.values(state.subscriptions)) { + for (let assignment of subscription.assignments) { + if (assignment.feedback) { + Vue.set(assignment.feedback, 'feedback_stage_for_user', subscription.feedback_stage) + } + } + } }, [mut.SET_SUBSCRIPTION] (state, subscription) { Vue.set(state.subscriptions, subscription.pk, subscription) + for (let assignment of subscription.assignments) { + if (assignment.feedback) { + Vue.set(assignment.feedback, 'feedback_stage_for_user', subscription.feedback_stage) + } + } }, [mut.DELETE_SUBSCRIPTION] (state, {pk}) { Vue.delete(state.subscriptions, pk) -- GitLab