diff --git a/app/assets/javascripts/work_items/components/work_item_metadata_provider.vue b/app/assets/javascripts/work_items/components/work_item_metadata_provider.vue index 02da562c7035f9cc420424fffd7f33cb71cf7862..848bfafe304108fc1b97cbd2ed35724b036bd086 100644 --- a/app/assets/javascripts/work_items/components/work_item_metadata_provider.vue +++ b/app/assets/javascripts/work_items/components/work_item_metadata_provider.vue @@ -38,6 +38,8 @@ export default { markdownHelpPath: computed(() => this.metadata.markdownHelpPath), quickActionsHelpPath: computed(() => this.metadata.quickActionsHelpPath), canAdminLabel: computed(() => Boolean(this.metadata?.adminLabel)), + canCreateProjects: computed(() => Boolean(this.metadata?.createProjects)), + canBulkEditEpics: computed(() => Boolean(this.metadata?.bulkAdminEpic)), // newCommentTemplatePaths not included as it is already available on the `WorkItem` type. isGroup: computed(() => this.metadata.id?.includes(TYPENAME_GROUP) || false), }; diff --git a/app/assets/javascripts/work_items/graphql/work_item_metadata.query.graphql b/app/assets/javascripts/work_items/graphql/work_item_metadata.query.graphql index f8369dae8794d5c9d14f341a9ab02d13f629ff4b..d5af26aa5daf82b6f9ff786a46adcd603c0d2bed 100644 --- a/app/assets/javascripts/work_items/graphql/work_item_metadata.query.graphql +++ b/app/assets/javascripts/work_items/graphql/work_item_metadata.query.graphql @@ -32,6 +32,8 @@ query workItemMetadata($fullPath: ID!) { userPermissions { createWorkItem adminLabel + createProjects + bulkAdminEpic } } } diff --git a/app/assets/javascripts/work_items/index.js b/app/assets/javascripts/work_items/index.js index fa6127ba4a5008be658687afc1ca7f6fdf74f2ca..b2bff506870f43ef4770875dab9d7b0ebc923ba3 100644 --- a/app/assets/javascripts/work_items/index.js +++ b/app/assets/javascripts/work_items/index.js @@ -53,12 +53,10 @@ export const initWorkItemsRoot = ({ workItemType, workspaceType, withTabs } = {} autocompleteAwardEmojisPath, hasScopedLabelsFeature, hasQualityManagementFeature, - canBulkEditEpics, groupIssuesPath, labelsFetchPath, hasLinkedItemsEpicsFeature, duoRemoteFlowsAvailability, - canCreateProjects, newProjectPath, projectNamespaceFullPath, hasIssueDateFilterFeature, @@ -143,11 +141,9 @@ export const initWorkItemsRoot = ({ workItemType, workspaceType, withTabs } = {} showNewWorkItem: parseBoolean(showNewWorkItem), autocompleteAwardEmojisPath, hasQualityManagementFeature: parseBoolean(hasQualityManagementFeature), - canBulkEditEpics: parseBoolean(canBulkEditEpics), groupIssuesPath, labelsFetchPath, hasLinkedItemsEpicsFeature: parseBoolean(hasLinkedItemsEpicsFeature), - canCreateProjects: parseBoolean(canCreateProjects), newIssuePath, newProjectPath, projectNamespaceFullPath, diff --git a/app/assets/javascripts/work_items/pages/work_items_list_app.vue b/app/assets/javascripts/work_items/pages/work_items_list_app.vue index acac403982bc3e2119955bd997672980e950dc63..d3050f9fff379d0c1648f926c72f646d402f2bf7 100644 --- a/app/assets/javascripts/work_items/pages/work_items_list_app.vue +++ b/app/assets/javascripts/work_items/pages/work_items_list_app.vue @@ -210,6 +210,7 @@ export default { 'autocompleteAwardEmojisPath', 'canBulkUpdate', 'canBulkEditEpics', + 'canCreateProjects', 'canCreateWorkItem', 'hasBlockedIssuesFeature', 'hasEpicsFeature', diff --git a/ee/app/assets/javascripts/work_items/graphql/work_item_metadata.query.graphql b/ee/app/assets/javascripts/work_items/graphql/work_item_metadata.query.graphql index 0001c21e7cae7ef2088e3dc1845d14b6b8ce8eb2..1097a03bd9b96e1563a0af7b28ef350f638f539d 100644 --- a/ee/app/assets/javascripts/work_items/graphql/work_item_metadata.query.graphql +++ b/ee/app/assets/javascripts/work_items/graphql/work_item_metadata.query.graphql @@ -37,6 +37,8 @@ query workItemMetadataEE($fullPath: ID!) { userPermissions { createWorkItem adminLabel + createProjects + bulkAdminEpic } } } diff --git a/spec/frontend/work_items/list/components/work_items_list_app_spec.js b/spec/frontend/work_items/list/components/work_items_list_app_spec.js index 6095bf204cfea7df113788cc490d19fa42f2dc83..480f1d61781adf9fd8912c4122ba5979d7038abb 100644 --- a/spec/frontend/work_items/list/components/work_items_list_app_spec.js +++ b/spec/frontend/work_items/list/components/work_items_list_app_spec.js @@ -197,6 +197,7 @@ describeSkipVue3(skipReason, () => { autocompleteAwardEmojisPath: 'autocomplete/award/emojis/path', canBulkUpdate: true, canBulkEditEpics: true, + canCreateProjects: true, hasBlockedIssuesFeature: false, hasEpicsFeature: false, hasGroupBulkEditFeature: true,