From 07841555ce160cdf8fe5c977838bd9cc891792b6 Mon Sep 17 00:00:00 2001 From: ievavold <ievavold@wisc.edu> Date: Mon, 13 May 2019 13:34:55 -0500 Subject: [PATCH] ROENROLL-1740 ignore duplicate sfl courses --- src/app/degree-planner/store/reducer.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/app/degree-planner/store/reducer.ts b/src/app/degree-planner/store/reducer.ts index bf294dd..2e9f748 100644 --- a/src/app/degree-planner/store/reducer.ts +++ b/src/app/degree-planner/store/reducer.ts @@ -475,21 +475,26 @@ export function degreePlannerReducer( } case courseActions.CourseActionTypes.AddSaveForLater: { - const { newIndex } = action.payload; + const { courseId, subjectCode, newIndex } = action.payload; + + const savedForLaterCourses = state.savedForLaterCourses.filter(c => { + return !(c.courseId === courseId && c.subjectCode === subjectCode); + }); + const newSavedCourse: SavedForLaterCourse = { id: null, - courseId: action.payload.courseId, + courseId: courseId, termCode: '0000', topicId: 0, - subjectCode: action.payload.subjectCode, + subjectCode: subjectCode, title: action.payload.title, catalogNumber: action.payload.catalogNumber, courseOrder: 0, }; - const savedForLaterCoursesArr = state.savedForLaterCourses.slice(); - savedForLaterCoursesArr.splice(newIndex, 0, newSavedCourse); - return { ...state, savedForLaterCourses: savedForLaterCoursesArr }; + savedForLaterCourses.splice(newIndex, 0, newSavedCourse); + + return { ...state, savedForLaterCourses }; } case planActions.PlanActionTypes.CreatePlanSuccess: { -- GitLab