Disable save as draft if draft exists [SCI-8025] (#5049)

This commit is contained in:
ajugo 2023-03-01 14:41:41 +01:00 committed by GitHub
parent e317ca0134
commit 976ddca672
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 3 deletions

View file

@ -128,8 +128,10 @@ Canaid::Permissions.register_for(Protocol) do
end
can :save_protocol_as_draft_in_repository do |user, protocol|
(protocol.in_repository_published_original? || protocol.in_repository_published_version?) &&
can_create_protocols_in_repository?(user, protocol.team)
next false unless can_create_protocols_in_repository?(user, protocol.team)
%(in_repository_published_original in_repository_published_version).include?(protocol.protocol_type) &&
(protocol.parent || protocol).draft.blank?
end
end

View file

@ -77,10 +77,11 @@
published_by: protocol_version.published_by&.full_name) %>
</div>
<div class="protocol-actions">
<% if can_save_protocol_as_draft_in_repository?(protocol_version) %>
<% if @protocol.active? %>
<%= button_to save_as_draft_protocol_path(protocol_version),
class: "btn btn-light icon-btn save-as-draft",
title: t('protocols.index.versions.save_as_draft'),
disabled: !can_save_protocol_as_draft_in_repository?(protocol_version),
data: {
placement: :left,
toggle: :tooltip