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