From 9adb0c61a903eae9930a84510b25a8ed156ed4f8 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Fri, 4 Jan 2013 15:38:52 +0000 Subject: [PATCH] Make sure that dates are stored as YYYY-MM-DD in journal details (#12713). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11117 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/journal_detail.rb | 7 +++++-- test/unit/journal_test.rb | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/app/models/journal_detail.rb b/app/models/journal_detail.rb index 2c4b3a0bf..331fb889b 100644 --- a/app/models/journal_detail.rb +++ b/app/models/journal_detail.rb @@ -27,10 +27,13 @@ class JournalDetail < ActiveRecord::Base end def normalize(v) - if v == true + case v + when true "1" - elsif v == false + when false "0" + when Date + v.strftime("%Y-%m-%d") else v end diff --git a/test/unit/journal_test.rb b/test/unit/journal_test.rb index bec497f46..a331c7e0f 100644 --- a/test/unit/journal_test.rb +++ b/test/unit/journal_test.rb @@ -154,4 +154,25 @@ class JournalTest < ActiveSupport::TestCase # Admin should see issues on private projects that he does not belong to assert journals.detect {|journal| !journal.issue.project.is_public?} end + + def test_details_should_normalize_dates + j = JournalDetail.create!(:old_value => Date.parse('2012-11-03'), :value => Date.parse('2013-01-02')) + j.reload + assert_equal '2012-11-03', j.old_value + assert_equal '2013-01-02', j.value + end + + def test_details_should_normalize_true_values + j = JournalDetail.create!(:old_value => true, :value => true) + j.reload + assert_equal '1', j.old_value + assert_equal '1', j.value + end + + def test_details_should_normalize_false_values + j = JournalDetail.create!(:old_value => false, :value => false) + j.reload + assert_equal '0', j.old_value + assert_equal '0', j.value + end end -- 2.39.5