From f1cab5b295f1e7ac4c7bf44cc69e8ba0ad901e55 Mon Sep 17 00:00:00 2001
From: Gyan Gupta <gyan@cottagelabs.com>
Date: Thu, 13 Mar 2025 12:58:50 +0530
Subject: [PATCH] fixes for duplicate filset title

---
 hyrax/app/services/hyrax/valkyrie_upload.rb | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/hyrax/app/services/hyrax/valkyrie_upload.rb b/hyrax/app/services/hyrax/valkyrie_upload.rb
index 25fe4cde..ef52eafa 100644
--- a/hyrax/app/services/hyrax/valkyrie_upload.rb
+++ b/hyrax/app/services/hyrax/valkyrie_upload.rb
@@ -43,7 +43,7 @@ class Hyrax::ValkyrieUpload
     parent_object = file_set.parent_object
     siblings = parent_object.file_sets
 
-    duplicate_record = siblings.select {|fs| fs.title[0]&.downcase == filename && fs.id != file_set.id }
+    duplicate_record = siblings.select {|fs| fs.title[0]&.downcase == filename.downcase && fs.id != file_set.id }
     new_title = nil
 
     if duplicate_record.present?
@@ -55,13 +55,13 @@ class Hyrax::ValkyrieUpload
     file_size = io.size
     mime_type ||= file_set.get_mime_type
 
-    streamfile = storage_adapter.upload(file: io, original_filename: filename, resource: file_set)
+    streamfile = storage_adapter.upload(file: io, original_filename: new_title || filename, resource: file_set)
     file_metadata = Hyrax::FileMetadata(streamfile)
     file_metadata.file_set_id = file_set.id
     file_metadata.pcdm_use = Array(use)
     file_metadata.recorded_size = Array(io.size)
     file_metadata.mime_type = mime_type if mime_type
-    file_metadata.original_filename = File.basename(filename).to_s || File.basename(io)
+    file_metadata.original_filename = File.basename(new_title || filename).to_s || File.basename(io)
 
     if use == Hyrax::FileMetadata::Use::ORIGINAL_FILE
       # Set file set label.
@@ -155,7 +155,7 @@ class Hyrax::ValkyrieUpload
 
     suffix = 1
     new_title = file_name
-    while existing_titles.include?(new_title)
+    while existing_titles.include?(new_title.downcase)
       new_title = "#{base_name}_#{suffix}#{extension}"
       suffix += 1
     end
-- 
GitLab