[fix #3342] show date with format letter

This commit is contained in:
pedong 2019-01-31 17:11:53 +01:00
parent 0cc36aea3b
commit fb29d30826
3 changed files with 78 additions and 0 deletions

View file

@ -119,4 +119,20 @@ module ApplicationHelper
{} {}
end end
end end
def try_format_date(date)
begin
Date.parse(date).strftime("%d %B %Y")
rescue
date
end
end
def try_format_datetime(datetime)
begin
Time.zone.parse(datetime).strftime("%d %B %Y %R")
rescue
datetime
end
end
end end

View file

@ -30,6 +30,10 @@
= render partial: "shared/champs/siret/show", locals: { champ: c, profile: profile } = render partial: "shared/champs/siret/show", locals: { champ: c, profile: profile }
- when TypeDeChamp.type_champs.fetch(:textarea) - when TypeDeChamp.type_champs.fetch(:textarea)
= render partial: "shared/champs/textarea/show", locals: { champ: c } = render partial: "shared/champs/textarea/show", locals: { champ: c }
- when TypeDeChamp.type_champs.fetch(:date)
= try_format_date(c.to_s)
- when TypeDeChamp.type_champs.fetch(:datetime)
= try_format_datetime(c.to_s)
- else - else
= sanitize(c.to_s) = sanitize(c.to_s)

View file

@ -17,4 +17,62 @@ describe ApplicationHelper do
it { is_expected.to be_nil } it { is_expected.to be_nil }
end end
end end
describe "#try_format_date" do
subject { try_format_date(date) }
describe 'try formatting 2019-01-24' do
let(:date) { "2019-01-24" }
it { is_expected.to eq("24 January 2019") }
end
describe 'try formatting 24/01/2019' do
let(:date) { "24/01/2019" }
it { is_expected.to eq("24 January 2019") }
end
describe 'try formatting 2019-01-32' do
let(:date) { "2019-01-32" }
it { is_expected.to eq("2019-01-32") }
end
describe 'try formatting a blank string' do
let(:date) { "" }
it { is_expected.to eq("") }
end
describe 'try formatting a nil string' do
let(:date) { nil }
it { is_expected.to be_nil }
end
end
describe "#try_format_datetime" do
subject { try_format_datetime(datetime) }
describe 'try formatting 31/01/2019 11:25' do
let(:datetime) { "31/01/2019 11:25" }
it { is_expected.to eq("31 January 2019 11:25") }
end
describe 'try formatting 2019-01-31 11:25' do
let(:datetime) { "2019-01-31 11:25" }
it { is_expected.to eq("31 January 2019 11:25") }
end
describe 'try formatting 2019-01-32 11:25' do
let(:datetime) { "2019-01-32 11:25" }
it { is_expected.to eq("2019-01-32 11:25") }
end
describe 'try formatting a blank string' do
let(:datetime) { "" }
it { is_expected.to eq("") }
end
describe 'try formatting a nil string' do
let(:datetime) { nil }
it { is_expected.to be_nil }
end
end
end end