X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/31e84a9315728c2f58a26bf0e9e1d2b38326fb86..ff8a68b46a011c546f15d88281f842bbdee117ae:/src/views-components/side-panel-button/side-panel-button.tsx diff --git a/src/views-components/side-panel-button/side-panel-button.tsx b/src/views-components/side-panel-button/side-panel-button.tsx index fb5ea11f5f..7874441588 100644 --- a/src/views-components/side-panel-button/side-panel-button.tsx +++ b/src/views-components/side-panel-button/side-panel-button.tsx @@ -2,25 +2,26 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { connect, DispatchProp } from 'react-redux'; -import { RootState } from '~/store/store'; -import { ArvadosTheme } from '~/common/custom-theme'; +import { RootState } from 'store/store'; +import { ArvadosTheme } from 'common/custom-theme'; import { PopoverOrigin } from '@material-ui/core/Popover'; import { StyleRulesCallback, WithStyles, withStyles, Toolbar, Grid, Button, MenuItem, Menu } from '@material-ui/core'; -import { AddIcon, CollectionIcon, ProcessIcon, ProjectIcon } from '~/components/icon/icon'; -import { openProjectCreateDialog } from '~/store/projects/project-create-actions'; -import { openCollectionCreateDialog } from '~/store/collections/collection-create-actions'; -import { navigateToRunProcess } from '~/store/navigation/navigation-action'; -import { runProcessPanelActions } from '~/store/run-process-panel/run-process-panel-actions'; -import { getUserUuid } from '~/common/getuser'; -import { matchProjectRoute } from '~/routes/routes'; -import { GroupClass, GroupResource } from '~/models/group'; -import { ResourcesState, getResource } from '~/store/resources/resources'; -import { extractUuidKind, ResourceKind } from '~/models/resource'; -import { pluginConfig } from '~/plugins'; -import { ElementListReducer } from '~/common/plugintypes'; +import { AddIcon, CollectionIcon, ProcessIcon, ProjectIcon } from 'components/icon/icon'; +import { openProjectCreateDialog } from 'store/projects/project-create-actions'; +import { openCollectionCreateDialog } from 'store/collections/collection-create-actions'; +import { navigateToRunProcess } from 'store/navigation/navigation-action'; +import { runProcessPanelActions } from 'store/run-process-panel/run-process-panel-actions'; +import { getUserUuid } from 'common/getuser'; +import { matchProjectRoute } from 'routes/routes'; +import { GroupClass, GroupResource } from 'models/group'; +import { ResourcesState, getResource } from 'store/resources/resources'; +import { extractUuidKind, ResourceKind } from 'models/resource'; +import { pluginConfig } from 'plugins'; +import { ElementListReducer } from 'common/plugintypes'; import { Location } from 'history'; +import { ProjectResource } from 'models/project'; type CssRules = 'button' | 'menuItem' | 'icon'; @@ -87,9 +88,10 @@ export const SidePanelButton = withStyles(styles)( if (currentItemId === currentUserUUID) { enabled = true; } else if (matchProjectRoute(location ? location.pathname : '')) { - const currentProject = getResource(currentItemId)(resources); - if (currentProject && + const currentProject = getResource(currentItemId)(resources); + if (currentProject && currentProject.writableBy && currentProject.writableBy.indexOf(currentUserUUID || '') >= 0 && + !currentProject.frozenByUuid && !isProjectTrashed(currentProject, resources) && currentProject.groupClass !== GroupClass.FILTER) { enabled = true; @@ -107,7 +109,7 @@ export const SidePanelButton = withStyles(styles)( New collection - Run a process + Run a workflow New project