Merge pull request #1070 from sgmap/fix_1014_html_in_annotations_privees

Fix 1014 html in annotations privees
This commit is contained in:
LeSim 2017-12-11 14:14:10 +01:00 committed by GitHub
commit c4498ece2b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 2 deletions

View file

@ -0,0 +1,10 @@
module HtmlToStringHelper
def html_to_string(html)
string_with_tags = html
.gsub(/<br[ ]?[\/]?>/, "\n")
.gsub('</p>', "\n")
.gsub('<p>', '')
strip_tags(string_with_tags)
end
end

View file

@ -1,7 +1,7 @@
= render partial: 'new_gestionnaire/dossiers/champs/champ_label', locals: { form: form, champ: champ } = render partial: 'new_gestionnaire/dossiers/champs/champ_label', locals: { form: form, champ: champ }
= form.text_area :value, ~ form.text_area :value,
row: 6, row: 6,
placeholder: champ.description, placeholder: champ.description,
required: champ.mandatory, required: champ.mandatory,
value: sanitize(champ.value) value: html_to_string(champ.value)

View file

@ -0,0 +1,21 @@
describe HtmlToStringHelper do
describe "#html_to_string" do
describe 'does not change plain text' do
it { expect(helper.html_to_string('text')).to eq('text') }
end
describe 'deals with <br>' do
it { expect(helper.html_to_string('new<br>line')).to eq("new\nline") }
it { expect(helper.html_to_string('new<br/>line')).to eq("new\nline") }
it { expect(helper.html_to_string('new<br />line')).to eq("new\nline") }
end
describe 'deals with <p>' do
it { expect(helper.html_to_string('<p>p1</p><p>p2</p>')).to eq("p1\np2\n") }
end
describe 'strip other tags' do
it { expect(helper.html_to_string('<i>italic</i>')).to eq('italic') }
end
end
end