diff --git a/packages/components-faraday/src/components/Dashboard/Dashboard.js b/packages/components-faraday/src/components/Dashboard/Dashboard.js index e40141b3332b05cbe2c1fe7a697d6ff6de88dbcc..f21a7ffca292aaa34d5ca3bce7d87c62cce81468 100644 --- a/packages/components-faraday/src/components/Dashboard/Dashboard.js +++ b/packages/components-faraday/src/components/Dashboard/Dashboard.js @@ -1,4 +1,5 @@ import React from 'react' +import { get } from 'lodash' import styled from 'styled-components' import { Button, th } from '@pubsweet/ui' import { compose, withProps } from 'recompose' @@ -6,16 +7,18 @@ import { compose, withProps } from 'recompose' import { DashboardItems, DashboardFilters } from './' const Dashboard = ({ + isStaff, dashboard, currentUser, filterItems, filterValues, deleteProject, dashboardItems, + canCreateDraft, getFilterOptions, changeFilterValue, - getDefaultFilterValue, createDraftSubmission, + getDefaultFilterValue, }) => ( <Root className="dashboard"> <Header> @@ -23,6 +26,7 @@ const Dashboard = ({ <HeaderButtons> <Button data-test="new-manuscript" + disabled={!canCreateDraft} onClick={createDraftSubmission} primary > @@ -40,8 +44,9 @@ const Dashboard = ({ ) export default compose( - withProps(({ dashboard, filterItems }) => ({ + withProps(({ isStaff, dashboard, filterItems, currentUser }) => ({ dashboardItems: filterItems(dashboard.all), + canCreateDraft: isStaff || get(currentUser, 'isConfirmed'), })), )(Dashboard) diff --git a/packages/components-faraday/src/components/Dashboard/DashboardPage.js b/packages/components-faraday/src/components/Dashboard/DashboardPage.js index 7dc3702ac2bf12dc22693e0d219c247d853c5291..8e1224e4081cb8fb918281d83d3c044842ee314c 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardPage.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardPage.js @@ -11,7 +11,10 @@ import { createDraftSubmission } from 'pubsweet-component-wizard/src/redux/conve import { Dashboard } from './' import { getHandlingEditors } from '../../redux/editors' -import { getUserPermissions } from '../../../../component-faraday-selectors/src' +import { + currentUserIs, + getUserPermissions, +} from '../../../../component-faraday-selectors/src' import { priorityFilter, importanceSort, withFiltersHOC } from '../Filters' @@ -21,7 +24,7 @@ export default compose( state => { const { collections, conversion } = state const currentUser = selectCurrentUser(state) - + const isStaff = currentUserIs(state, 'staff') const sortedCollections = newestFirst(collections) const dashboard = { @@ -42,6 +45,7 @@ export default compose( } const userPermissions = getUserPermissions(state) return { + isStaff, dashboard, conversion, collections,