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