diff --git a/app/models/issue.rb b/app/models/issue.rb old mode 100644 new mode 100755 index 1877ca2..e0dc516 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -407,7 +407,7 @@ class Issue < ActiveRecord::Base if arg.is_a?(String) arg = arg.gsub(/(\r\n|\n|\r)/, "\r\n") end - write_attribute(:description, arg) + write_attribute(:description, arg.blank? ? nil : arg) end def deleted_attachment_ids diff --git a/db/migrate/20170218185644_migrate_blank_description_to_nil.rb b/db/migrate/20170218185644_migrate_blank_description_to_nil.rb new file mode 100755 index 0000000..11c49ee --- /dev/null +++ b/db/migrate/20170218185644_migrate_blank_description_to_nil.rb @@ -0,0 +1,9 @@ +class MigrateBlankDescriptionToNil < ActiveRecord::Migration + def up + Issue.where(:description => '').update_all(:description => nil) + end + + def down + Issue.where(:description => nil).update_all(:description => '') + end +end diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb old mode 100644 new mode 100755 index 235e2e7..2008261 --- a/test/unit/issue_test.rb +++ b/test/unit/issue_test.rb @@ -79,6 +79,13 @@ class IssueTest < ActiveSupport::TestCase assert_save issue end + def test_create_with_blank_description_should_set_description_to_nil + issue = Issue.new(:project_id => 1, :tracker_id => 1, :author_id => 3, :subject => 'test_create', :description => '') + assert issue.save + + assert issue.description.nil? + end + def test_start_date_format_should_be_validated set_language_if_valid 'en' ['2012', 'ABC', '2012-15-20'].each do |invalid_date| @@ -354,12 +361,12 @@ class IssueTest < ActiveSupport::TestCase :subject => 'Assignment test', :assigned_to => group, :is_private => true) - + Role.find(2).update! :issues_visibility => 'default' issues = Issue.visible(User.find(8)).to_a assert issues.any? assert issues.include?(issue) - + Role.find(2).update! :issues_visibility => 'own' issues = Issue.visible(User.find(8)).to_a assert issues.any?