Revert "Protocol permissions - button display [SCI-8058]" (#5121)

This commit is contained in:
Alex Kriuchykhin 2023-03-10 11:45:32 +01:00 committed by GitHub
parent 9b444cd8fb
commit cb1c49762a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 23 additions and 35 deletions

View file

@ -19,7 +19,6 @@
<button class="btn btn-light" @click="openVersionsModal">{{ i18n.t("protocols.header.versions") }}</button>
<button v-if="protocol.attributes.urls.publish_url" @click="$emit('publish')" class="btn btn-primary">{{ i18n.t("protocols.header.publish") }}</button>
<button v-if="protocol.attributes.urls.save_as_draft_url" @click="saveAsdraft" class="btn btn-secondary">{{ i18n.t("protocols.header.save_as_draft") }}</button>
<button v-bind:disabled="protocol.attributes.disabled_drafting" v-if="protocol.attributes.disabled_drafting" @click="saveAsdraft" class="btn btn-secondary">{{ i18n.t("protocols.header.save_as_draft") }}</button>
</div>
</div>
<div id="details-container" class="protocol-details collapse in">

View file

@ -105,11 +105,11 @@ Canaid::Permissions.register_for(Protocol) do
# protocol in repository: restore
can :restore_protocol_in_repository do |user, protocol|
protocol.archived? && protocol.permission_granted?(user, ProtocolPermissions::RESTORE)
protocol.archived? && protocol.permission_granted?(user, ProtocolPermissions::MANAGE)
end
can :archive_protocol_in_repository do |user, protocol|
protocol.active? && protocol.permission_granted?(user, ProtocolPermissions::ARCHIVE)
protocol.active? && protocol.permission_granted?(user, ProtocolPermissions::MANAGE)
end
# protocol in repository: copy
@ -119,7 +119,7 @@ Canaid::Permissions.register_for(Protocol) do
can :publish_protocol_in_repository do |user, protocol|
protocol.in_repository_draft? &&
protocol.permission_granted?(user, ProtocolPermissions::PUBLISH)
protocol.permission_granted?(user, ProtocolPermissions::MANAGE)
end
can :delete_protocol_draft_in_repository do |user, protocol|

View file

@ -8,7 +8,7 @@ class ProtocolSerializer < ActiveModel::Serializer
attributes :name, :id, :urls, :description, :description_view, :updated_at, :in_repository,
:created_at_formatted, :updated_at_formatted, :added_by, :authors, :keywords, :version, :code,
:published, :version_comment, :archived, :disabled_drafting
:published, :version_comment, :archived
def updated_at
object.updated_at.to_i
@ -84,14 +84,6 @@ class ProtocolSerializer < ActiveModel::Serializer
!object.in_module?
end
def disabled_drafting
protocol_types = Protocol.where(name: object.name).pluck(:protocol_type)
object.protocol_type != 'in_repository_draft' &&
!object.archived &&
protocol_types.length > 1 &&
protocol_types.include?('in_repository_draft')
end
private
def load_from_repo_url

View file

@ -1,25 +1,25 @@
<template id="protocolGeneralToolbar">
<div class="left-general-toolbar">
<% if can_create_protocols_in_repository?(@current_team) %>
<button data-toggle="modal"
data-target="#newProtocolModal"
<%= 'disabled' if !can_create_protocols_in_repository?(@current_team) %>
class="btn btn-primary only-active"
>
<span class="fas fa-plus"></span>
<span class="hidden-xs"><%= t("protocols.index.create_new") %></span>
</button>
<button data-toggle="modal"
data-target="#newProtocolModal"
class="btn btn-primary only-active"
>
<span class="fas fa-plus"></span>
<span class="hidden-xs"><%= t("protocols.index.create_new") %></span>
<div id="protocol-import-group" class="sci-btn-group only-active" role="group">
<button class="btn btn-light btn-open-file <%= 'disabled' unless can_create_protocols_in_repository?(@current_team) %>"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
<span class="fas fa-upload"></span><span class="hidden-xs"><%= t("protocols.index.import") %></span>
</button>
<div id="protocol-import-group" class="sci-btn-group only-active" role="group">
<button class="btn btn-light btn-open-file"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
<span class="fas fa-upload"></span><span class="hidden-xs"><%= t("protocols.index.import") %></span>
</button>
<% if can_create_protocols_in_repository?(@current_team) %>
<ul class="dropdown-menu">
<li>
<a class="btn-link-alt btn-default-link btn-open-file" data-action="import">
<a class="btn-link-alt btn-default-link btn-open-file" <%= can_create_protocols_in_repository?(@current_team) ? 'data-action="import"' : 'disabled="disabled"' %>>
<span><%= t("protocols.index.import_alt") %></span>
<input type="file" value="" accept=".eln" data-role="import-file-input"
data-team-id="<%= @current_team.id %>" data-import-url="<%= import_protocols_path %>"
@ -30,7 +30,7 @@
<%= link_to t("protocols.index.import_protocols_io"), '', data: { target: '#protocolsioModal', toggle: 'modal' } %>
</li>
</ul>
</div>
<% end %>
<% end %>
</div>
</div>
</template>

View file

@ -56,7 +56,7 @@
>
<div class="protocol-comment-message">
<div class="view-mode" data-placeholder="<%= t('protocols.index.versions.comment_placeholder') %>"><%= draft.version_comment %></div>
<%= text_area_tag 'version_comment', draft.version_comment, disabled: can_publish_protocol_in_repository?(@protocol), class: 'smart-text-area hidden' %>
<%= text_area_tag 'version_comment', draft.version_comment, disabled: true, class: 'smart-text-area hidden' %>
</div>
<div class="edit-buttons">
<span class="cancel-button btn btn-secondary"><%= t('general.cancel') %></span>

View file

@ -19,9 +19,6 @@ module PermissionExtends
%w(
READ
READ_ARCHIVED
ARCHIVE
RESTORE
PUBLISH
MANAGE
USERS_MANAGE
MANAGE_DRAFT