From b6d4c671a96599c5ea45a8295b0ff86cc830d9bd Mon Sep 17 00:00:00 2001 From: Simon Rozsival Date: Sun, 29 Oct 2017 19:49:14 +0100 Subject: [PATCH 1/5] :sparkles:: Add reducer for creating group --- src/redux/modules/sisSupervisedCourses.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/redux/modules/sisSupervisedCourses.js b/src/redux/modules/sisSupervisedCourses.js index b047060a9..8cd04426d 100644 --- a/src/redux/modules/sisSupervisedCourses.js +++ b/src/redux/modules/sisSupervisedCourses.js @@ -54,6 +54,12 @@ export const sisBindGroup = (courseId, data, userId, year, term) => const reducer = handleActions( Object.assign({}, reduceActions, { + [actionTypes.CREATE]: (state, { meta: { userId, year, term }, payload }) => + state.setIn( + ['resources', userId, `${year}-${term}`], + createRecord({ state: resourceStatus.FULFILLED, data: fromJS(payload) }) + ), + [actionTypes.FETCH_PENDING]: (state, { meta: { userId, year, term } }) => state.setIn(['resources', userId, `${year}-${term}`], createRecord()), From b3fbf8645d1bf47cf7bc5764b9f5583a65b23f3e Mon Sep 17 00:00:00 2001 From: Simon Rozsival Date: Sun, 29 Oct 2017 19:49:24 +0100 Subject: [PATCH 2/5] :construction: Update action creator --- src/redux/modules/sisSupervisedCourses.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/redux/modules/sisSupervisedCourses.js b/src/redux/modules/sisSupervisedCourses.js index 8cd04426d..713d7fca4 100644 --- a/src/redux/modules/sisSupervisedCourses.js +++ b/src/redux/modules/sisSupervisedCourses.js @@ -34,12 +34,12 @@ export const fetchSisSupervisedCourses = (userId, year, term) => meta: { userId, year, term } }); -export const sisCreateGroup = (courseId, data) => +export const sisCreateGroup = (courseId, userId, year, term, data) => createApiAction({ type: actionTypes.CREATE, method: 'POST', endpoint: `/extensions/sis/remote-courses/${courseId}/create`, - meta: { courseId }, + meta: { userId, courseId, year, term }, body: { ...data } }); From 2eb1493994c00e3afef825fbfd5f55dbbc8554b9 Mon Sep 17 00:00:00 2001 From: Simon Rozsival Date: Sun, 29 Oct 2017 19:49:34 +0100 Subject: [PATCH 3/5] :construction: Update dispatching action --- .../SisSupervisorGroupsContainer.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/containers/SisSupervisorGroupsContainer/SisSupervisorGroupsContainer.js b/src/containers/SisSupervisorGroupsContainer/SisSupervisorGroupsContainer.js index 28e17e49d..d633d609b 100644 --- a/src/containers/SisSupervisorGroupsContainer/SisSupervisorGroupsContainer.js +++ b/src/containers/SisSupervisorGroupsContainer/SisSupervisorGroupsContainer.js @@ -215,6 +215,9 @@ class SisSupervisorGroupsContainer extends Component { onSubmit={data => createGroup( course.course.code, + currentUserId, + term.year, + term.term, data )} groups={possibleParents} From b07b27f6bdea8a0dd71ad90c2cf89bc12ee1be5f Mon Sep 17 00:00:00 2001 From: Simon Rozsival Date: Sun, 29 Oct 2017 19:55:06 +0100 Subject: [PATCH 4/5] :construction: Fix action type --- src/redux/modules/sisSupervisedCourses.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/redux/modules/sisSupervisedCourses.js b/src/redux/modules/sisSupervisedCourses.js index 713d7fca4..f308e9c93 100644 --- a/src/redux/modules/sisSupervisedCourses.js +++ b/src/redux/modules/sisSupervisedCourses.js @@ -22,6 +22,7 @@ export const actionTypes = { FETCH_REJECTED: 'recodex/sisSupervisedCourses/FETCH_REJECTED', FETCH_FULFILLED: 'recodex/sisSupervisedCourses/FETCH_FULFILLED', CREATE: 'recodex/sisSupervisedCourses/CREATE', + CREATE_FULFILLED: 'recodex/sisSupervisedCourses/CREATE_FULFILLED', BIND: 'recodex/sisSupervisedCourses/BIND', BIND_FULFILLED: 'recodex/sisSupervisedCourses/BIND_FULFILLED' }; @@ -54,7 +55,7 @@ export const sisBindGroup = (courseId, data, userId, year, term) => const reducer = handleActions( Object.assign({}, reduceActions, { - [actionTypes.CREATE]: (state, { meta: { userId, year, term }, payload }) => + [actionTypes.CREATE_FULFILLED]: ( state.setIn( ['resources', userId, `${year}-${term}`], createRecord({ state: resourceStatus.FULFILLED, data: fromJS(payload) }) From 54a31ddbc24d59694a3bba06fd5dea84b259dda0 Mon Sep 17 00:00:00 2001 From: Simon Rozsival Date: Sun, 29 Oct 2017 19:55:27 +0100 Subject: [PATCH 5/5] :sparkles: Add reducer for binding --- src/redux/modules/sisSupervisedCourses.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/redux/modules/sisSupervisedCourses.js b/src/redux/modules/sisSupervisedCourses.js index f308e9c93..c8fe52ee9 100644 --- a/src/redux/modules/sisSupervisedCourses.js +++ b/src/redux/modules/sisSupervisedCourses.js @@ -56,6 +56,18 @@ export const sisBindGroup = (courseId, data, userId, year, term) => const reducer = handleActions( Object.assign({}, reduceActions, { [actionTypes.CREATE_FULFILLED]: ( + state, + { meta: { userId, year, term }, payload } + ) => + state.setIn( + ['resources', userId, `${year}-${term}`], + createRecord({ state: resourceStatus.FULFILLED, data: fromJS(payload) }) + ), + + [actionTypes.BIND_FULFILLED]: ( + state, + { meta: { userId, year, term }, payload } + ) => state.setIn( ['resources', userId, `${year}-${term}`], createRecord({ state: resourceStatus.FULFILLED, data: fromJS(payload) })