diff --git a/app/components/budgets/budget_component.html.erb b/app/components/budgets/budget_component.html.erb index 2563ee70d..332920b2e 100644 --- a/app/components/budgets/budget_component.html.erb +++ b/app/components/budgets/budget_component.html.erb @@ -1,6 +1,6 @@ <% if budget.image.present? %>
+ style="<%= attached_background_css polymorphic_path(budget.image.variant(:large)) %>"> <% else %>
<% end %> diff --git a/app/components/budgets/budget_component.rb b/app/components/budgets/budget_component.rb index b11ebce85..4b842a3fd 100644 --- a/app/components/budgets/budget_component.rb +++ b/app/components/budgets/budget_component.rb @@ -1,5 +1,6 @@ class Budgets::BudgetComponent < ApplicationComponent attr_reader :budget + delegate :attached_background_css, to: :helpers def initialize(budget) @budget = budget diff --git a/app/helpers/images_helper.rb b/app/helpers/images_helper.rb index 06d63e9f8..787f8cf25 100644 --- a/app/helpers/images_helper.rb +++ b/app/helpers/images_helper.rb @@ -14,4 +14,8 @@ module ImagesHelper version: (version if image.persisted?), show_caption: show_caption end + + def attached_background_css(path) + "background-image: url('#{j path}');" + end end diff --git a/app/views/dashboard/poster/index.html.erb b/app/views/dashboard/poster/index.html.erb index e1cddb5d4..bbd988356 100644 --- a/app/views/dashboard/poster/index.html.erb +++ b/app/views/dashboard/poster/index.html.erb @@ -18,7 +18,7 @@

<% if proposal.image.present? %> -
+
<% else %>
);">
<% end %> diff --git a/app/views/dashboard/poster/index.pdf.erb b/app/views/dashboard/poster/index.pdf.erb index c762156d2..7c4eaebe1 100644 --- a/app/views/dashboard/poster/index.pdf.erb +++ b/app/views/dashboard/poster/index.pdf.erb @@ -23,7 +23,7 @@

<% if proposal.image.present? %> -
+
<% else %>
');">
<% end %> diff --git a/app/views/layouts/devise.html.erb b/app/views/layouts/devise.html.erb index 7ed3b55b1..26943bf56 100644 --- a/app/views/layouts/devise.html.erb +++ b/app/views/layouts/devise.html.erb @@ -10,7 +10,7 @@ <%= raw setting["html.per_page_code_body"] %>
)"> + style="<%= attached_background_css asset_url(image_path_for("auth_bg.jpg")) %>">

<%= link_to root_path do %> <%= image_tag(image_path_for("logo_header.png"), class: "float-left", alt: setting["org_name"]) %> diff --git a/spec/helpers/images_helper_spec.rb b/spec/helpers/images_helper_spec.rb new file mode 100644 index 000000000..f115a84f3 --- /dev/null +++ b/spec/helpers/images_helper_spec.rb @@ -0,0 +1,13 @@ +require "rails_helper" + +describe ImagesHelper do + describe "#attached_background_css" do + it "adds quotes around the path" do + expect(attached_background_css("myurl")).to eq "background-image: url('myurl');" + end + + it "escapes quotes inside the path" do + expect(attached_background_css("url_'quotes'")).to eq "background-image: url('url_\\'quotes\\'');" + end + end +end