From 0fbbf51bd9529d6b96f9a7b57d9c3923061b6313 Mon Sep 17 00:00:00 2001
From: "robinwilliam.hundt" <robinwilliam.hundt@stud.uni-goettingen.de>
Date: Mon, 19 Feb 2018 13:53:03 +0100
Subject: [PATCH] I hope this works...

---
 .../AnnotatedSubmissionBottomToolbar.vue      | 24 ++++++++++---------
 frontend/src/pages/SubscriptionWorkPage.vue   |  3 +++
 2 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue b/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue
index 835ec918..6ad3b94f 100644
--- a/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue
+++ b/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue
@@ -61,11 +61,7 @@
     data () {
       return {
         scoreError: '',
-        initialIsFinal: this.$store.state.submissionNotes.origFeedback.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
-
+        isFinal: this.initialFinalStatus()
       }
     },
     props: {
@@ -102,16 +98,23 @@
     watch: {
       feedback: {
         handler: function (val) {
-          if (!val.hasOwnProperty('is_final')) {
-            this.isFinal = this.initialValue
-          } else {
-            this.isFinal = val.is_final
-          }
+          this.isFinal = this.initialFinalStatus()
         },
         deep: true
       }
     },
     methods: {
+      initialFinalStatus () {
+        if (this.$route.name === 'subscription') {
+          return !this.$store.getters['submissionNotes/isFeedbackCreation'] || this.$store.getters.isReviewer
+        } else {
+          if (this.feedback.hasOwnProperty('is_final')) {
+            return this.feedback.is_final
+          } else {
+            return !this.$store.getters['submissionNotes/isFeedbackCreation'] || this.$store.getters.isReviewer
+          }
+        }
+      },
       emitScoreError (error, duration) {
         this.scoreError = error
         setTimeout(() => { this.scoreError = '' }, duration)
@@ -130,7 +133,6 @@
       },
       submit () {
         this.$emit('submitFeedback', {isFinal: this.isFinal})
-        this.isFinal = this.initialIsFinal
       }
     }
   }
diff --git a/frontend/src/pages/SubscriptionWorkPage.vue b/frontend/src/pages/SubscriptionWorkPage.vue
index 747fc714..42b73bdf 100644
--- a/frontend/src/pages/SubscriptionWorkPage.vue
+++ b/frontend/src/pages/SubscriptionWorkPage.vue
@@ -44,6 +44,9 @@
           next()
         })
         store.dispatch('getAssignmentForSubscription', {subscription})
+      } else if (subscription['assignments'].length === 1) {
+        store.dispatch('getAssignmentForSubscription', {subscription})
+        next()
       } else {
         next()
       }
-- 
GitLab