diff --git a/app/controllers/protocols_controller.rb b/app/controllers/protocols_controller.rb index 757daa60e..54d909d0b 100644 --- a/app/controllers/protocols_controller.rb +++ b/app/controllers/protocols_controller.rb @@ -78,7 +78,6 @@ class ProtocolsController < ApplicationController only: %i(protocolsio_import_create protocolsio_import_save) before_action :set_importer, only: %i(load_from_file import) - before_action :set_inline_name_editing, only: :show layout 'fluid' diff --git a/app/javascript/vue/protocol/container.vue b/app/javascript/vue/protocol/container.vue index 2f6f35a05..91c99e3ec 100644 --- a/app/javascript/vue/protocol/container.vue +++ b/app/javascript/vue/protocol/container.vue @@ -226,7 +226,7 @@ this.protocol.attributes.name = newName; this.refreshProtocolStatus(); $.ajax({ - type: 'PUT', + type: 'PATCH', url: this.urls.update_protocol_name_url, data: { protocol: { name: newName } } }); diff --git a/app/javascript/vue/protocol/protocolMetadata.vue b/app/javascript/vue/protocol/protocolMetadata.vue index 3972eb620..7e70cacee 100644 --- a/app/javascript/vue/protocol/protocolMetadata.vue +++ b/app/javascript/vue/protocol/protocolMetadata.vue @@ -17,7 +17,8 @@ - + +
diff --git a/app/permissions/team.rb b/app/permissions/team.rb index 21a8c2342..5dbe0b3ba 100644 --- a/app/permissions/team.rb +++ b/app/permissions/team.rb @@ -86,7 +86,8 @@ Canaid::Permissions.register_for(Protocol) do # protocol in repository: update, create/update/delete/reorder step, # toggle private/public visibility, archive can :manage_protocol_in_repository do |user, protocol| - protocol.permission_granted?(user, ProtocolPermissions::MANAGE) + protocol.protocol_type.in_repository_draft? && + protocol.permission_granted?(user, ProtocolPermissions::MANAGE) end can :manage_protocol_draft_in_repository do |user, protocol| diff --git a/app/serializers/protocol_serializer.rb b/app/serializers/protocol_serializer.rb index 22dd03025..5d7031d9e 100644 --- a/app/serializers/protocol_serializer.rb +++ b/app/serializers/protocol_serializer.rb @@ -7,14 +7,19 @@ class ProtocolSerializer < ActiveModel::Serializer include ActionView::Helpers::TextHelper attributes :name, :id, :urls, :description, :description_view, :updated_at, :in_repository, - :created_at_formatted, :updated_at_formatted, :added_by, :authors, :keywords, :version, :code + :created_at_formatted, :updated_at_formatted, :added_by, :authors, :keywords, :version, :code, + :published def updated_at object.updated_at.to_i end def version - object.protocol_type == 'in_repository_draft' ? I18n.t('protocols.header.draft') : object.version_number + object.in_repository_draft? ? I18n.t('protocols.draft') : object.version_number + end + + def published + object.in_repository_published? end def added_by diff --git a/config/locales/en.yml b/config/locales/en.yml index 34d9664f2..7677507f0 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2427,6 +2427,7 @@ en: unchangable_error_message: "Predefined roles can not be changed!" protocols: + draft: "Draft" no_text_placeholder: 'No protocol description' reorder_steps: button: "Rearrange steps" @@ -2535,6 +2536,7 @@ en: protocol_description: 'Protocol description' protocol_steps: 'Protocol steps' publish: 'Publish' + save_as_draft: 'Save as draft' version: "Version:" draft: 'Draft' created_at: "Created at:"