From bb332210b9c784e171263fa397a01fda78308152 Mon Sep 17 00:00:00 2001 From: Rajan Mistry <rmistry@gitlab.com> Date: Tue, 11 Apr 2023 17:26:19 +0530 Subject: [PATCH] Add admin_parent_link permission to hide Add button in issue Add admin_parent_link permission to hide Add button in issue if user has Guest role. Changelog: fixed --- app/graphql/types/permission_types/work_item.rb | 3 ++- doc/api/graphql/reference/index.md | 1 + spec/graphql/types/permission_types/work_item_spec.rb | 3 ++- spec/requests/api/graphql/work_item_spec.rb | 3 ++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/graphql/types/permission_types/work_item.rb b/app/graphql/types/permission_types/work_item.rb index f35f42001e0768..9f8f9e4f2b9275 100644 --- a/app/graphql/types/permission_types/work_item.rb +++ b/app/graphql/types/permission_types/work_item.rb @@ -6,7 +6,8 @@ class WorkItem < BasePermissionType graphql_name 'WorkItemPermissions' description 'Check permissions for the current user on a work item' - abilities :read_work_item, :update_work_item, :delete_work_item, :admin_work_item + abilities :read_work_item, :update_work_item, :delete_work_item, + :admin_work_item, :admin_parent_link end end end diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index 2e945f5ba6655c..2dd866c9261c65 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -22474,6 +22474,7 @@ Check permissions for the current user on a work item. | Name | Type | Description | | ---- | ---- | ----------- | +| <a id="workitempermissionsadminparentlink"></a>`adminParentLink` | [`Boolean!`](#boolean) | Indicates the user can perform `admin_parent_link` on this resource. | | <a id="workitempermissionsadminworkitem"></a>`adminWorkItem` | [`Boolean!`](#boolean) | Indicates the user can perform `admin_work_item` on this resource. | | <a id="workitempermissionsdeleteworkitem"></a>`deleteWorkItem` | [`Boolean!`](#boolean) | Indicates the user can perform `delete_work_item` on this resource. | | <a id="workitempermissionsreadworkitem"></a>`readWorkItem` | [`Boolean!`](#boolean) | Indicates the user can perform `read_work_item` on this resource. | diff --git a/spec/graphql/types/permission_types/work_item_spec.rb b/spec/graphql/types/permission_types/work_item_spec.rb index db6d78b15385cc..72e9dad3bea018 100644 --- a/spec/graphql/types/permission_types/work_item_spec.rb +++ b/spec/graphql/types/permission_types/work_item_spec.rb @@ -5,7 +5,8 @@ RSpec.describe Types::PermissionTypes::WorkItem do it do expected_permissions = [ - :read_work_item, :update_work_item, :delete_work_item, :admin_work_item + :read_work_item, :update_work_item, :delete_work_item, :admin_work_item, + :admin_parent_link ] expected_permissions.each do |permission| diff --git a/spec/requests/api/graphql/work_item_spec.rb b/spec/requests/api/graphql/work_item_spec.rb index fe6f75548a55c9..8afec74a6b7986 100644 --- a/spec/requests/api/graphql/work_item_spec.rb +++ b/spec/requests/api/graphql/work_item_spec.rb @@ -59,7 +59,8 @@ 'readWorkItem' => true, 'updateWorkItem' => true, 'deleteWorkItem' => false, - 'adminWorkItem' => true + 'adminWorkItem' => true, + 'adminParentLink' => true }, 'project' => hash_including('id' => project.to_gid.to_s, 'fullPath' => project.full_path) ) -- GitLab