From aae0abcd67d3c4c59e8392034e6adce62ff61d70 Mon Sep 17 00:00:00 2001 From: Martin Artnik Date: Mon, 28 Oct 2024 15:03:05 +0100 Subject: [PATCH 1/2] UI fixes for File versions modal [SCI-11218] --- .../shared/content/attachments/context_menu.vue | 12 ++++++------ .../vue/shared/file_versions_modal.vue | 17 ++++++++++++----- .../active_storage/blob_serializer.rb | 10 +++++++++- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/app/javascript/vue/shared/content/attachments/context_menu.vue b/app/javascript/vue/shared/content/attachments/context_menu.vue index 8d7d67c6d..49135586b 100644 --- a/app/javascript/vue/shared/content/attachments/context_menu.vue +++ b/app/javascript/vue/shared/content/attachments/context_menu.vue @@ -135,6 +135,12 @@ export default { data_e2e: 'e2e-BT-attachmentOptions-delete' }); } + if (this.attachment.attributes.urls.versions) { + menu.push({ + text: this.i18n.t('assets.context_menu.versions'), + emit: 'fileVersionsModal' + }); + } if (this.attachment.attributes.urls.toggle_view_mode) { this.viewModeOptions.forEach((viewMode, i) => { menu.push({ @@ -147,12 +153,6 @@ export default { }); }); } - if (this.attachment.attributes.urls.versions) { - menu.push({ - text: this.i18n.t('assets.context_menu.versions'), - emit: 'fileVersionsModal' - }); - } return menu; } }, diff --git a/app/javascript/vue/shared/file_versions_modal.vue b/app/javascript/vue/shared/file_versions_modal.vue index d1c893c4b..f56c7f7a0 100644 --- a/app/javascript/vue/shared/file_versions_modal.vue +++ b/app/javascript/vue/shared/file_versions_modal.vue @@ -12,26 +12,33 @@
-
+
{{ i18n.t("assets.file_versions_modal.original_file") }} v{{ fileVersion.attributes.version }} - {{ fileVersion.attributes.filename }} + + {{ fileVersion.attributes.basename }}.{{ fileVersion.attributes.extension }} + ({{ i18n.t("assets.file_versions_modal.restored_from_version", { version: fileVersion.attributes.restored_from_version }) }})
{{ fileVersion.attributes.created_at }}
-
{{ fileVersion.attributes.created_by.full_name }}
+
{{ fileVersion.attributes.created_by.full_name }}
{{ Math.round(fileVersion.attributes.byte_size/1024) }}KB
- diff --git a/app/serializers/active_storage/blob_serializer.rb b/app/serializers/active_storage/blob_serializer.rb index c667bdced..155c40555 100644 --- a/app/serializers/active_storage/blob_serializer.rb +++ b/app/serializers/active_storage/blob_serializer.rb @@ -4,7 +4,15 @@ module ActiveStorage class BlobSerializer < ActiveModel::Serializer include Rails.application.routes.url_helpers - attributes :filename, :url, :created_at, :byte_size, :version, :restored_from_version, :created_by + attributes :filename, :extension, :basename, :url, :created_at, :byte_size, :version, :restored_from_version, :created_by + + def basename + object.filename.base + end + + def extension + object.filename.extension_without_delimiter + end def version object.metadata['version'] || 1 From 480754d3d4c9acc5d491a8b36a4c54651553b99e Mon Sep 17 00:00:00 2001 From: Martin Artnik Date: Tue, 29 Oct 2024 09:43:11 +0100 Subject: [PATCH 2/2] Fix date format in file versions modal [SCI-11223] --- app/controllers/assets_controller.rb | 3 ++- app/javascript/vue/shared/file_versions_modal.vue | 2 +- app/serializers/active_storage/blob_serializer.rb | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/controllers/assets_controller.rb b/app/controllers/assets_controller.rb index 92ae7c6d7..86d59579e 100644 --- a/app/controllers/assets_controller.rb +++ b/app/controllers/assets_controller.rb @@ -405,7 +405,8 @@ class AssetsController < ApplicationController render( json: ActiveModel::SerializableResource.new( blobs, - each_serializer: ActiveStorage::BlobSerializer + each_serializer: ActiveStorage::BlobSerializer, + user: current_user ).as_json.merge( enabled: VersionedAttachments.enabled?, enable_url: ENV.fetch('SCINOTE_FILE_VERSIONING_ENABLE_URL', nil) diff --git a/app/javascript/vue/shared/file_versions_modal.vue b/app/javascript/vue/shared/file_versions_modal.vue index f56c7f7a0..767592321 100644 --- a/app/javascript/vue/shared/file_versions_modal.vue +++ b/app/javascript/vue/shared/file_versions_modal.vue @@ -33,7 +33,7 @@
{{ fileVersion.attributes.created_at }}
{{ fileVersion.attributes.created_by.full_name }}
-
{{ Math.round(fileVersion.attributes.byte_size/1024) }}KB
+
{{ i18n.t("assets.file_versions_modal.size") }}: {{ Math.round(fileVersion.attributes.byte_size/1024) }}KB
diff --git a/app/serializers/active_storage/blob_serializer.rb b/app/serializers/active_storage/blob_serializer.rb index 155c40555..a758badd7 100644 --- a/app/serializers/active_storage/blob_serializer.rb +++ b/app/serializers/active_storage/blob_serializer.rb @@ -23,7 +23,9 @@ module ActiveStorage end def created_at - object.created_at.strftime('%B %d, %Y at %H:%M') + return object.created_at unless @instance_options[:user] + + object.created_at.strftime("#{@instance_options[:user].date_format}, %H:%M") end def created_by