diff --git a/course_grader_vue/components/section/primary.vue b/course_grader_vue/components/section/primary.vue index 8ac1aca..35c3875 100644 --- a/course_grader_vue/components/section/primary.vue +++ b/course_grader_vue/components/section/primary.vue @@ -53,18 +53,21 @@ export default { }; }, methods: { + applyGradingStatus: function (grading_status) { + this.gradingStatusText = this.formatGradingStatus(grading_status); + this.routerLinkTitle = this.formatLinkTitle(grading_status); + + // Add secondary statusus to prop + if (grading_status.hasOwnProperty("secondary_sections")) { + this.gradingStatus = grading_status.secondary_sections; + } + }, loadSectionStatus: function () { if (this.section.status_url) { this.getSectionStatus(this.section.status_url).then(response => { return response.data; }).then(data => { - this.gradingStatusText = this.formatGradingStatus(data.grading_status); - this.routerLinkTitle = this.formatLinkTitle(data.grading_status); - - // Load secondary statusus - if (data.grading_status.hasOwnProperty("secondary_sections")) { - this.gradingStatus = data.grading_status.secondary_sections; - } + this.applyGradingStatus(data.grading_status); }).catch(error => { console.log(error.message); }); diff --git a/course_grader_vue/components/section/secondary.vue b/course_grader_vue/components/section/secondary.vue index 5dd0c1a..dacb58f 100644 --- a/course_grader_vue/components/section/secondary.vue +++ b/course_grader_vue/components/section/secondary.vue @@ -44,24 +44,26 @@ export default { }; }, methods: { + applyGradingStatus: function (grading_status) { + this.gradingStatusText = this.formatGradingStatus(grading_status); + this.routerLinkTitle = this.formatLinkTitle(grading_status); + }, loadSectionStatus: function () { if (this.section.status_url) { this.getSectionStatus(this.section.status_url).then(response => { return response.data; }).then(data => { - this.gradingStatusText = this.formatGradingStatus(data.grading_status); - this.routerLinkTitle = this.formatLinkTitle(data.grading_status); + this.applyGradingStatus(data.grading_status); }).catch(error => { console.log(error.message); }); } else { - grading_status = this.gradingStatus.find((gs) => + // Check for a grading status in the prop + let grading_status = this.gradingStatus.find((gs) => gs.section_id === this.section.section_id ); - if (grading_status) { - this.gradingStatusText = this.formatGradingStatus(grading_status); - this.routerLinkTitle = this.formatLinkTitle(grading_status); + this.applyGradingStatus(grading_status); } } },