diff --git a/decidim-core/app/cells/decidim/announcement_cell.rb b/decidim-core/app/cells/decidim/announcement_cell.rb index 5db34bc1465bb..d64c7ee4a78f1 100644 --- a/decidim-core/app/cells/decidim/announcement_cell.rb +++ b/decidim-core/app/cells/decidim/announcement_cell.rb @@ -68,15 +68,23 @@ def body def clean_body return unless body - Array(body).map { |paragraph| tag.p(clean(paragraph)) }.join + Array(body).map { |paragraph| clean(paragraph) }.join end def clean_announcement + return if announcement.is_a?(Hash) && announcement.values.any?(&:empty?) + clean(announcement) end def clean(value) - decidim_sanitize_admin(translated_attribute(value)) + return if value.blank? || value.nil? + + if value.include?("rich-text-display") + decidim_sanitize_admin(translated_attribute(value)) + else + tag.p(decidim_sanitize_admin(translated_attribute(value))) + end end end end diff --git a/decidim-core/app/helpers/concerns/decidim/flash_helper_extensions.rb b/decidim-core/app/helpers/concerns/decidim/flash_helper_extensions.rb index 55f6f55f8f66d..cd9da34c9fd50 100644 --- a/decidim-core/app/helpers/concerns/decidim/flash_helper_extensions.rb +++ b/decidim-core/app/helpers/concerns/decidim/flash_helper_extensions.rb @@ -118,9 +118,9 @@ def close_link end def message(value) - return content_tag(:div, value, class: "flash__message") unless value.is_a?(Hash) + return content_tag(:p, value, class: "flash__message") unless value.is_a?(Hash) - content_tag(:div, class: "flash__message") do + content_tag(:p, class: "flash__message") do concat value[:title] concat content_tag(:span, value[:body], class: "flash__message-body") end diff --git a/decidim-system/spec/system/organizations_spec.rb b/decidim-system/spec/system/organizations_spec.rb index 38797e01ef510..da263242ecfe4 100644 --- a/decidim-system/spec/system/organizations_spec.rb +++ b/decidim-system/spec/system/organizations_spec.rb @@ -53,7 +53,7 @@ check "Example authorization (Direct)" click_on "Create organization & invite admin" - within ".flash__message" do + within ".flash.success" do expect(page).to have_content("Organization successfully created.") expect(page).to have_content("config/environment/production.rb") expect(page).to have_content("config.hosts << \"www.example.org\"")