From 2d343029a10c6782622d18b54fc44d7edd968a0f Mon Sep 17 00:00:00 2001 From: okbel Date: Mon, 4 Jun 2018 15:25:30 -0300 Subject: [PATCH] updated - getUserStatusArray --- .../coral-admin/src/components/UserDetail.js | 27 ++++++++++++++----- client/coral-framework/utils/user.js | 19 ------------- 2 files changed, 20 insertions(+), 26 deletions(-) diff --git a/client/coral-admin/src/components/UserDetail.js b/client/coral-admin/src/components/UserDetail.js index addac9eda..ca289b2d0 100644 --- a/client/coral-admin/src/components/UserDetail.js +++ b/client/coral-admin/src/components/UserDetail.js @@ -11,7 +11,6 @@ import { isSuspended, isUsernameRejected, isUsernameChanged, - getActiveStatuses, isBanned, getKarma, } from 'coral-framework/utils/user'; @@ -32,7 +31,6 @@ import ActionsMenuItem from 'coral-admin/src/components/ActionsMenuItem'; import UserInfoTooltip from './UserInfoTooltip'; import KarmaTooltip from './KarmaTooltip'; import t from 'coral-framework/services/i18n'; -import flatten from 'lodash/flatten'; class UserDetail extends React.Component { changeTab = tab => { @@ -78,14 +76,29 @@ class UserDetail extends React.Component { } getActionMenuLabel(user) { - const activeStatuses = getActiveStatuses(user); - const count = activeStatuses.length; + /** + * getUserStatusArray + * returns an array of active status(es) + * i.e if suspension is active, it returns suspension + */ + + const getUserStatusArray = user => { + const statusMap = { + suspended: isSuspended, + banned: isBanned, + usernameRejected: isUsernameRejected, + usernameChanged: isUsernameChanged, + }; + return Object.keys(statusMap).filter(k => statusMap[k](user)); + }; + + const userStatusArr = getUserStatusArray(user); + const count = userStatusArr.length; if (count > 1) { - return `Status(${count})`; + return `Status (${count})`; } else { - const activeStatus = flatten(activeStatuses)[0]; - + const activeStatus = userStatusArr[0]; switch (activeStatus) { case 'suspended': return t('user_detail.suspended'); diff --git a/client/coral-framework/utils/user.js b/client/coral-framework/utils/user.js index e010a7bc5..cdc0884d5 100644 --- a/client/coral-framework/utils/user.js +++ b/client/coral-framework/utils/user.js @@ -1,6 +1,4 @@ import get from 'lodash/get'; -import mapValues from 'lodash/mapValues'; -import toPairs from 'lodash/toPairs'; import moment from 'moment'; /** @@ -55,23 +53,6 @@ export const isUsernameChanged = user => { return get(user, 'state.status.username.status') === 'CHANGED'; }; -/** - * getActiveStatuses - * returns an array of active status(es) - * i.e if suspension is active, it returns suspension - */ - -export const getActiveStatuses = user => { - const statusMap = { - suspended: isSuspended, - banned: isBanned, - usernameRejected: isUsernameRejected, - usernameChanged: isUsernameChanged, - }; - - return toPairs(mapValues(statusMap, fn => fn(user))).filter(x => x[1]); -}; - /** * canUsernameBeUpdated * retrieves boolean whether a username can be updated or not