diff --git a/app/javascript/vue/forms/show.vue b/app/javascript/vue/forms/show.vue index ceb1da0d4..c58d9f3b5 100644 --- a/app/javascript/vue/forms/show.vue +++ b/app/javascript/vue/forms/show.vue @@ -21,7 +21,7 @@
- diff --git a/app/javascript/vue/shared/content/form_response.vue b/app/javascript/vue/shared/content/form_response.vue index af1758980..92474dc00 100644 --- a/app/javascript/vue/shared/content/form_response.vue +++ b/app/javascript/vue/shared/content/form_response.vue @@ -16,13 +16,15 @@

{{ form.name }}

-
- {{ i18n.t('forms.response.submitted_on') }} {{ this.formResponse.submitted_at }}
- {{ i18n.t('forms.response.by') }} {{ this.formResponse.submitted_by_full_name }} -
-
- {{ i18n.t('forms.response.not_submitted') }} -
+
diff --git a/app/permissions/form.rb b/app/permissions/form.rb index f625f3cb1..079e293c2 100644 --- a/app/permissions/form.rb +++ b/app/permissions/form.rb @@ -3,6 +3,7 @@ Canaid::Permissions.register_for(Form) do %i(manage_form clone_form + manage_form_draft publish_form) .each do |perm| can perm do |_, form| diff --git a/app/serializers/form_serializer.rb b/app/serializers/form_serializer.rb index 145cc6f18..0c8fa9e63 100644 --- a/app/serializers/form_serializer.rb +++ b/app/serializers/form_serializer.rb @@ -4,7 +4,7 @@ class FormSerializer < ActiveModel::Serializer include Canaid::Helpers::PermissionsHelper include Rails.application.routes.url_helpers - attributes :id, :name, :archived, :published_on, :published_by, :updated_at, :description, :urls + attributes :id, :name, :archived, :published_on, :published_by, :updated_at, :description, :urls, :can_manage_form_draft has_many :form_fields, key: :form_fields, @@ -26,6 +26,11 @@ class FormSerializer < ActiveModel::Serializer I18n.l(object.updated_at, format: :full) if object.updated_at end + def can_manage_form_draft + user = scope[:user] || @instance_options[:user] + can_manage_form_draft?(user, object) + end + def urls user = scope[:user] || @instance_options[:user] list = { show: form_path(object) } diff --git a/app/serializers/step_form_response_serializer.rb b/app/serializers/step_form_response_serializer.rb index 7bb618190..ec9a60a32 100644 --- a/app/serializers/step_form_response_serializer.rb +++ b/app/serializers/step_form_response_serializer.rb @@ -4,7 +4,7 @@ class StepFormResponseSerializer < ActiveModel::Serializer include Canaid::Helpers::PermissionsHelper include Rails.application.routes.url_helpers - attributes :id, :created_at, :form_id, :urls, :submitted_by_full_name, :status, :submitted_at, :parent_type + attributes :id, :created_at, :form_id, :urls, :submitted_by_full_name, :status, :submitted_at, :parent_type, :in_repository has_one :form, serializer: FormSerializer @@ -20,6 +20,10 @@ class StepFormResponseSerializer < ActiveModel::Serializer :step end + def in_repository + !object.step.protocol.my_module + end + def submitted_by_full_name object.submitted_by&.full_name end