浏览代码

Use attribute writers instead of before_create callback to normalize comments and committer (#14534).

Unlike other adapters, SQLite raises Encoding::UndefinedConversionError before the callback that reencodes attributes is called.

git-svn-id: http://svn.redmine.org/redmine/trunk@13896 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/3.0.0
Jean-Philippe Lang 9 年前
父节点
当前提交
0bcd5be0a5
共有 1 个文件被更改,包括 11 次插入3 次删除
  1. 11
    3
      app/models/changeset.rb

+ 11
- 3
app/models/changeset.rb 查看文件

@@ -69,6 +69,16 @@ class Changeset < ActiveRecord::Base
end
end

def committer=(arg)
write_attribute :committer,
self.class.to_utf8(arg, repository.try(:repo_log_encoding))
end

def comments=(arg)
write_attribute :comments,
self.class.normalize_comments(arg, repository.try(:repo_log_encoding))
end

def committed_on=(date)
self.commit_date = date
super
@@ -92,9 +102,7 @@ class Changeset < ActiveRecord::Base
end

def before_create_cs
self.committer = self.class.to_utf8(self.committer, repository.repo_log_encoding)
self.comments = self.class.normalize_comments(
self.comments, repository.repo_log_encoding)
self.comments ||= ''
self.user = repository.find_committer_user(self.committer)
end


正在加载...
取消
保存