From 0987ebf637fc31c1252ed4c78fa46f9e1dbaa5a1 Mon Sep 17 00:00:00 2001 From: wandji Date: Wed, 15 Nov 2023 15:55:48 +0100 Subject: [PATCH] Update viewer and technician interaction on shareable link modal [SCI-9047] (#6568) --- app/assets/stylesheets/shared_styles/elements/toggles.scss | 4 ++++ app/controllers/my_module_shareable_links_controller.rb | 1 + .../shareable_links/components/shareable_link_modal.vue | 7 ++++++- app/javascript/vue/shareable_links/container.vue | 4 ++-- app/views/my_modules/_task_flow_and_sharing.html.erb | 4 ++-- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/assets/stylesheets/shared_styles/elements/toggles.scss b/app/assets/stylesheets/shared_styles/elements/toggles.scss index 360afcc2f..2780d047d 100644 --- a/app/assets/stylesheets/shared_styles/elements/toggles.scss +++ b/app/assets/stylesheets/shared_styles/elements/toggles.scss @@ -62,6 +62,10 @@ input[type="checkbox"].sci-toggle-checkbox { display: none; } + &:disabled { + cursor: not-allowed; + } + &:checked + .sci-toggle-checkbox-label { border-color: var(--sn-blue); diff --git a/app/controllers/my_module_shareable_links_controller.rb b/app/controllers/my_module_shareable_links_controller.rb index ff67f30de..225825ab0 100644 --- a/app/controllers/my_module_shareable_links_controller.rb +++ b/app/controllers/my_module_shareable_links_controller.rb @@ -8,6 +8,7 @@ class MyModuleShareableLinksController < ApplicationController results_show) before_action :check_view_permissions, only: :show before_action :check_manage_permissions, except: %i(protocol_show + show repository_index_dt repository_snapshot_index_dt download_asset diff --git a/app/javascript/vue/shareable_links/components/shareable_link_modal.vue b/app/javascript/vue/shareable_links/components/shareable_link_modal.vue index d7dae34d5..cbcb7c4a6 100644 --- a/app/javascript/vue/shareable_links/components/shareable_link_modal.vue +++ b/app/javascript/vue/shareable_links/components/shareable_link_modal.vue @@ -32,6 +32,7 @@ v-model="sharedEnabled" id="checkbox" class="sci-toggle-checkbox" + :disabled="!canShare" tabindex="0" @change="checkboxChange" @keyup.enter="handleCheckboxEnter"/> @@ -46,7 +47,7 @@ :class="{ 'error': error }" v-model="description" :placeholder="i18n.t('shareable_links.modal.description_placeholder')" - :disabled="!sharedEnabled" + :disabled="!sharedEnabled || !canShare" @focus="editing = true"> @@ -110,6 +111,10 @@ characterLimit: { type: Number, default: null + }, + canShare: { + type: Boolean, + default: false } }, data() { diff --git a/app/javascript/vue/shareable_links/container.vue b/app/javascript/vue/shareable_links/container.vue index 9d2a5506e..779953ef2 100644 --- a/app/javascript/vue/shareable_links/container.vue +++ b/app/javascript/vue/shareable_links/container.vue @@ -5,7 +5,6 @@ type="button" :class="shareClass" :title="shareValue" - :disabled="disabled" @click="openModal"> @@ -19,6 +18,7 @@ :characterLimit="255" @enable="enableShare" @disable="disableShare" + :canShare="canShare" @close="closeModal"/> @@ -38,7 +38,7 @@ type: String, required: true }, - disabled: { + canShare: { type: Boolean, default: false } diff --git a/app/views/my_modules/_task_flow_and_sharing.html.erb b/app/views/my_modules/_task_flow_and_sharing.html.erb index e6142c045..a718e5844 100644 --- a/app/views/my_modules/_task_flow_and_sharing.html.erb +++ b/app/views/my_modules/_task_flow_and_sharing.html.erb @@ -1,12 +1,12 @@
<%= render partial: 'my_modules/status_flow/task_flow_button', locals: { my_module: @my_module } if @my_module.my_module_status_flow %> <%= javascript_include_tag("my_modules/status_flow") %> - <% if current_team.shareable_links_enabled? && can_share_my_module?(@my_module) %> + <% if current_team.shareable_links_enabled? %> <%= javascript_include_tag 'vue_share_task_container' %>