diff --git a/backend/app/views/spree/admin/taxons/_form.html.erb b/backend/app/views/spree/admin/taxons/_form.html.erb
index 5b720beaa2d..f6e58e9ea68 100644
--- a/backend/app/views/spree/admin/taxons/_form.html.erb
+++ b/backend/app/views/spree/admin/taxons/_form.html.erb
@@ -20,7 +20,24 @@
<% end %>
- <%= render "spree/admin/taxons/attachment_forms/#{f.object.attachment_partial_name}", f: f %>
+ <% if f.object.class.attachment_definitions.size > 1 %>
+ <%= render "spree/admin/taxons/attachment_forms/#{f.object.attachment_partial_name}", f: f %>
+ <% else %>
+ <%= f.field_container :icon do %>
+ <%= f.label :icon %>
+ <%= f.file_field :icon %>
+ <% if f.object.icon_present? %>
+ <%= image_tag f.object.icon(:mini) %>
+ <%= link_to t('spree.actions.remove'),
+ admin_taxonomy_taxon_attachment_path(@taxonomy,
+ @taxon.id,
+ attachment_definition: :icon,
+ authenticity_token: form_authenticity_token),
+ method: :delete,
+ class: 'btn btn-sm btn-danger' %>
+ <% end %>
+ <% end %>
+ <% end %>
diff --git a/backend/app/views/spree/admin/taxons/attachment_forms/_paperclip.html.erb b/backend/app/views/spree/admin/taxons/attachment_forms/_paperclip.html.erb
index fa433f5de6a..71dad1207e4 100644
--- a/backend/app/views/spree/admin/taxons/attachment_forms/_paperclip.html.erb
+++ b/backend/app/views/spree/admin/taxons/attachment_forms/_paperclip.html.erb
@@ -1,3 +1,10 @@
+<%
+Spree::Deprecation.warn(
+ "This partial with its support for multiple Spree::Taxon attachments is deprecated and will be removed in a future " \
+ "version of Solidus, please overwrite the standard view if you need to support custom attachments."
+)
+%>
+
<% f.object.class.attachment_definitions.each do |attachment, definition| %>
<%= f.field_container attachment do %>
<%= f.label attachment %>
diff --git a/core/app/models/spree/taxon/active_storage_attachment.rb b/core/app/models/spree/taxon/active_storage_attachment.rb
index fd8b220389e..26fd6ee60cf 100644
--- a/core/app/models/spree/taxon/active_storage_attachment.rb
+++ b/core/app/models/spree/taxon/active_storage_attachment.rb
@@ -9,11 +9,10 @@ module Spree::Taxon::ActiveStorageAttachment
styles: { mini: '32x32>', normal: '128x128>' },
default_style: :mini
validate :icon_is_an_image
-
-
end
def attachment_partial_name
+ Spree::Deprecation.warn("calling #attachment_partial_name on Spree::Taxon is deprecated without replacement.")
'paperclip'
end
end
diff --git a/core/app/models/spree/taxon/paperclip_attachment.rb b/core/app/models/spree/taxon/paperclip_attachment.rb
index f818c6fddb1..0df4958ccc7 100644
--- a/core/app/models/spree/taxon/paperclip_attachment.rb
+++ b/core/app/models/spree/taxon/paperclip_attachment.rb
@@ -20,6 +20,7 @@ def icon_present?
end
def attachment_partial_name
+ Spree::Deprecation.warn("calling #attachment_partial_name on Spree::Taxon is deprecated without replacement.")
'paperclip'
end