Migrate attestation files to active_storage

This commit is contained in:
Paul Chavard 2019-08-27 17:42:52 +02:00
parent a194ffa392
commit a19b10b118
11 changed files with 289 additions and 96 deletions

View file

@ -48,8 +48,8 @@ class Admin::AttestationTemplatesController < AdminController
# In a case of a preview, when the user does not change its images,
# the images are not uploaded and thus should be retrieved from previous
# attestation_template
@logo = activated_attestation_params[:logo] || @procedure.attestation_template&.logo
@signature = activated_attestation_params[:signature] || @procedure.attestation_template&.signature
@logo = activated_attestation_params[:logo_active_storage] || @procedure.attestation_template&.proxy_logo
@signature = activated_attestation_params[:signature_active_storage] || @procedure.attestation_template&.proxy_signature
render 'admin/attestation_templates/show', formats: [:pdf]
end
@ -57,8 +57,11 @@ class Admin::AttestationTemplatesController < AdminController
def delete_logo
attestation_template = @procedure.attestation_template
attestation_template.remove_logo!
attestation_template.save
if attestation_template.logo.present?
attestation_template.remove_logo!
attestation_template.save
end
attestation_template.logo_active_storage.purge_later
flash.notice = 'le logo a bien été supprimée'
redirect_to edit_admin_procedure_attestation_template_path(@procedure)
@ -67,8 +70,11 @@ class Admin::AttestationTemplatesController < AdminController
def delete_signature
attestation_template = @procedure.attestation_template
attestation_template.remove_signature!
attestation_template.save
if attestation_template.signature.present?
attestation_template.remove_signature!
attestation_template.save
end
attestation_template.signature_active_storage.purge_later
flash.notice = 'la signature a bien été supprimée'
redirect_to edit_admin_procedure_attestation_template_path(@procedure)
@ -80,11 +86,18 @@ class Admin::AttestationTemplatesController < AdminController
# cache result to avoid multiple uninterlaced computations
if @activated_attestation_params.nil?
@activated_attestation_params = params.require(:attestation_template)
.permit(:title, :body, :footer, :signature)
.permit(:title, :body, :footer)
.merge(activated: true)
@activated_attestation_params[:logo] = uninterlaced_png(params['attestation_template']['logo'])
@activated_attestation_params[:signature] = uninterlaced_png(params['attestation_template']['signature'])
logo_file = params['attestation_template'].delete('logo')
signature_file = params['attestation_template'].delete('signature')
if logo_file.present?
@activated_attestation_params[:logo_active_storage] = uninterlaced_png(logo_file)
end
if signature_file.present?
@activated_attestation_params[:signature_active_storage] = uninterlaced_png(signature_file)
end
end
@activated_attestation_params