From f1c00c073834d9c826a1667ee6a8887c73c1b152 Mon Sep 17 00:00:00 2001 From: therealrinku Date: Thu, 27 Nov 2025 15:11:43 +0545 Subject: [PATCH 01/32] Show blob actions only when user has required permissions Hide blob actions like edit single file, open in web ide, edit pipeline, replace and delete by default and show only if user has permission to do such actions Changelog: fixed --- .../repository/components/header_area.vue | 4 ++-- .../components/header_area/blob_controls.vue | 8 +++++--- .../components/header_area/blob_overflow_menu.vue | 12 ++++++++++-- .../javascripts/repository/init_header_app.js | 4 ++-- .../vue_shared/components/web_ide_link.vue | 4 ++-- app/helpers/blob_helper.rb | 4 +++- .../components/header_area/blob_overflow_menu.vue | 6 ++++++ .../components/code_flow/code_flow_file_viewer.vue | 1 + .../header_area/blob_overflow_menu_spec.js | 1 + ee/spec/frontend/repository/mock_data.js | 2 +- .../header_area/blob_overflow_menu_spec.js | 13 +++++++++++++ spec/frontend/repository/mock_data.js | 2 +- 12 files changed, 47 insertions(+), 14 deletions(-) diff --git a/app/assets/javascripts/repository/components/header_area.vue b/app/assets/javascripts/repository/components/header_area.vue index 7d000c96fe0fdf..a1bb01825f7ea0 100644 --- a/app/assets/javascripts/repository/components/header_area.vue +++ b/app/assets/javascripts/repository/components/header_area.vue @@ -89,7 +89,7 @@ export default { 'showEditButton', 'showWebIdeButton', 'isGitpodEnabledForInstance', - 'showPipelineEditorUrl', + 'showPipelineEditorButton', 'webIdeUrl', 'editUrl', 'pipelineEditorUrl', @@ -429,7 +429,7 @@ export default { :show-edit-button="showEditButton" :show-web-ide-button="showWebIdeButton" :is-gitpod-enabled-for-instance="isGitpodEnabledForInstance" - :show-pipeline-editor-url="showPipelineEditorUrl" + :show-pipeline-editor-button="showPipelineEditorButton" :web-ide-url="webIDEUrl" :edit-url="editUrl" :pipeline-editor-url="pipelineEditorUrl" diff --git a/app/assets/javascripts/repository/components/header_area/blob_controls.vue b/app/assets/javascripts/repository/components/header_area/blob_controls.vue index 6f7c8f245d6546..2541793eeeada2 100644 --- a/app/assets/javascripts/repository/components/header_area/blob_controls.vue +++ b/app/assets/javascripts/repository/components/header_area/blob_controls.vue @@ -99,7 +99,7 @@ export default { }, }, }, - inject: ['currentRef'], + inject: ['currentRef','showEditButton','showWebIdeButton','showPipelineEditorButton' ], provide() { return { blobInfo: computed(() => this.blobInfo ?? DEFAULT_BLOB_INFO.repository.blobs.nodes[0]), @@ -298,12 +298,13 @@ export default {