From ee4f999c32fb5c3a274d7e23191453da2c3969fc Mon Sep 17 00:00:00 2001 From: Bogdan Cochior <bogdan.cochior@thinslices.com> Date: Mon, 16 Jul 2018 17:01:41 +0300 Subject: [PATCH] fix(admin): fix undefined object and user role edit --- packages/component-faraday-selectors/src/index.js | 4 ++-- .../components-faraday/src/components/Admin/utils.js | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/component-faraday-selectors/src/index.js b/packages/component-faraday-selectors/src/index.js index 8b683eda9..db6ee1a09 100644 --- a/packages/component-faraday-selectors/src/index.js +++ b/packages/component-faraday-selectors/src/index.js @@ -7,7 +7,7 @@ export const isHEToManuscript = (state, collectionId) => { return get(collection, 'handlingEditor.id') === currentUserId } -export const canMakeRecommendation = (state, collection, fragment) => { +export const canMakeRecommendation = (state, collection, fragment = {}) => { if (fragment.id !== last(collection.fragments)) return false const isHE = isHEToManuscript(state, collection.id) return isHE && get(collection, 'status') === 'reviewCompleted' @@ -58,7 +58,7 @@ export const getHERecommendation = (state, collectionId, fragmentId) => { } const cantMakeDecisionStatuses = ['rejected', 'published', 'draft'] -export const canMakeDecision = (state, collection, fragment) => { +export const canMakeDecision = (state, collection, fragment = {}) => { if (fragment.id !== last(collection.fragments)) return false const status = get(collection, 'status') diff --git a/packages/components-faraday/src/components/Admin/utils.js b/packages/components-faraday/src/components/Admin/utils.js index 99ea13817..3d0dae705 100644 --- a/packages/components-faraday/src/components/Admin/utils.js +++ b/packages/components-faraday/src/components/Admin/utils.js @@ -35,6 +35,12 @@ export const setAdmin = values => { } export const parseUpdateUser = values => { + const parsedValues = { + ...values, + editorInChief: values.editorInChief || false, + handlingEditor: values.handlingEditor || false, + admin: values.admin || false, + } const valuesToSave = [ 'admin', 'firstName', @@ -48,7 +54,7 @@ export const parseUpdateUser = values => { 'username', ] - return pick(values, valuesToSave) + return pick(parsedValues, valuesToSave) } export const handleFormError = error => { @@ -71,7 +77,6 @@ const toggleUserStatus = user => { newState = false newUsername = `invalid***${username}` } else { - newState = true newUsername = replace(username, 'invalid***', '') } -- GitLab