summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2020-11-25 07:51:58 +0000
committerGo MAEDA <maeda@farend.jp>2020-11-25 07:51:58 +0000
commit2f43c315f36a88ca0251ff9d6ab46fa63f84839c (patch)
treeae824edc5d581391ead2eae068d51784a4820500 /app/models
parent00c751a1a6ad5ae67d93b7687b4b1ff9a8c7307e (diff)
downloadredmine-2f43c315f36a88ca0251ff9d6ab46fa63f84839c.tar.gz
redmine-2f43c315f36a88ca0251ff9d6ab46fa63f84839c.zip
Create tracker by copy (#34258).
Patch by Takenori TAKAKI. git-svn-id: http://svn.redmine.org/redmine/trunk@20492 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r--app/models/tracker.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/app/models/tracker.rb b/app/models/tracker.rb
index 7bd5c9759..49c334af8 100644
--- a/app/models/tracker.rb
+++ b/app/models/tracker.rb
@@ -76,6 +76,16 @@ class Tracker < ActiveRecord::Base
'project_ids',
'description')
+ def copy_from(arg, options={})
+ return if arg.blank?
+
+ tracker = arg.is_a?(Tracker) ? arg : Tracker.find_by_id(arg.to_s)
+ self.attributes = tracker.attributes.dup.except("id", "name", "position")
+ self.custom_field_ids = tracker.custom_field_ids.dup
+ self.project_ids = tracker.project_ids.dup
+ self
+ end
+
def to_s; name end
def <=>(tracker)