1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-01-08 00:21:31 +00:00

shorten long line of app/models/workflow_rule.rb

git-svn-id: http://svn.redmine.org/redmine/trunk@20606 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2020-12-10 13:33:36 +00:00
parent 0fe9d4785c
commit 163fda086f

View File

@ -30,7 +30,10 @@ class WorkflowRule < ActiveRecord::Base
# Copies workflows from source to targets
def self.copy(source_tracker, source_role, target_trackers, target_roles)
unless source_tracker.is_a?(Tracker) || source_role.is_a?(Role)
raise ArgumentError.new("source_tracker or source_role must be specified, given: #{source_tracker.class.name} and #{source_role.class.name}")
raise ArgumentError.new(
"source_tracker or source_role must be specified, given: " \
"#{source_tracker.class.name} and #{source_role.class.name}"
)
end
target_trackers = [target_trackers].flatten.compact
@ -64,10 +67,15 @@ class WorkflowRule < ActiveRecord::Base
else
transaction do
where(:tracker_id => target_tracker.id, :role_id => target_role.id).delete_all
connection.insert "INSERT INTO #{WorkflowRule.table_name} (tracker_id, role_id, old_status_id, new_status_id, author, assignee, field_name, #{connection.quote_column_name 'rule'}, type)" +
" SELECT #{target_tracker.id}, #{target_role.id}, old_status_id, new_status_id, author, assignee, field_name, #{connection.quote_column_name 'rule'}, type" +
" FROM #{WorkflowRule.table_name}" +
" WHERE tracker_id = #{source_tracker.id} AND role_id = #{source_role.id}"
connection.insert(
"INSERT INTO #{WorkflowRule.table_name}" \
" (tracker_id, role_id, old_status_id, new_status_id," \
" author, assignee, field_name, #{connection.quote_column_name 'rule'}, type)" \
" SELECT #{target_tracker.id}, #{target_role.id}, old_status_id, new_status_id," \
" author, assignee, field_name, #{connection.quote_column_name 'rule'}, type" \
" FROM #{WorkflowRule.table_name}" \
" WHERE tracker_id = #{source_tracker.id} AND role_id = #{source_role.id}"
)
end
true
end