chore: generate representations coming from ActionText in background

This commit is contained in:
Eric Leroy-Terquem 2024-08-29 17:30:23 +02:00
parent 4d0961d3ec
commit 37a018880b
No known key found for this signature in database
GPG key ID: 53D8FAECEF207605
3 changed files with 25 additions and 13 deletions

View file

@ -58,6 +58,9 @@ class ImageProcessorJob < ApplicationJob
if attachment.blob.content_type.in?(RARE_IMAGE_TYPES)
attachment.variant(resize_to_limit: [2000, 2000]).processed
end
if attachment.record.class == ActionText::RichText
attachment.variant(resize_to_limit: [1024, 768]).processed
end
end
end

View file

@ -10,7 +10,7 @@ module BlobImageProcessorConcern
end
def representation_required?
from_champ? || from_messagerie? || is_a_logo?
from_champ? || from_messagerie? || logo? || from_action_text?
end
private
@ -27,6 +27,10 @@ module BlobImageProcessorConcern
attachments.any? { _1.name == 'logo' }
end
def from_action_text?
attachments.any? { _1.record.class == ActionText::RichText }
end
def watermark_required?
attachments.any? { _1.record.class == Champs::TitreIdentiteChamp }
end

View file

@ -1,14 +1,19 @@
<figure class="attachment attachment--<%= blob.representable? ? "preview" : "file" %> attachment--<%= blob.filename.extension %>">
<% if blob.representable? %>
<%= image_tag blob.representation(resize_to_limit: local_assigns[:in_gallery] ? [ 800, 600 ] : [ 1024, 768 ]) %>
<% end %>
<figcaption class="attachment__caption">
<% if caption = blob.try(:caption) %>
<%= caption %>
<% if blob.representable? %>
<% representation = blob.representation(resize_to_limit: local_assigns[:in_gallery] ? [ 800, 600 ] : [ 1024, 768 ]) %>
<% if representation.image&.attached? || representation.key.present? %>
<figure class="attachment attachment--preview attachment--<%= blob.filename.extension %>">
<%= image_tag representation %>
<% else %>
<span class="attachment__name"><%= blob.filename %></span>
<span class="attachment__size"><%= number_to_human_size blob.byte_size %></span>
<figure class="attachment attachment--file attachment--<%= blob.filename.extension %>">
<%= image_tag blob %>
<% end %>
</figcaption>
</figure>
</figure>
<figcaption class="attachment__caption">
<% if caption = blob.try(:caption) %>
<%= caption %>
<% else %>
<span class="attachment__name"><%= blob.filename %></span>
<span class="attachment__size"><%= number_to_human_size blob.byte_size %></span>
<% end %>
</figcaption>
<% end %>