mirror of
https://github.com/redmine/redmine.git
synced 2025-11-01 02:46:13 +01:00
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
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user