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:"