@@ -2092,7 +2092,7 class IssuesControllerTest < Redmine::ControllerTest | |||||
2092 | @request.session[:user_id] = 2 |
|
2092 | @request.session[:user_id] = 2 | |
2093 | tracker = Tracker.find(2) |
|
2093 | tracker = Tracker.find(2) | |
2094 | tracker.update! :default_status_id => 2 |
|
2094 | tracker.update! :default_status_id => 2 | |
2095 |
tracker.generate_transitions! 2 |
|
2095 | tracker.generate_transitions! 2 => 1, :clear => true | |
2096 |
|
2096 | |||
2097 | post :new, :project_id => 1, |
|
2097 | post :new, :project_id => 1, | |
2098 | :issue => {:tracker_id => 2, |
|
2098 | :issue => {:tracker_id => 2, |
@@ -243,21 +243,21 module ObjectHelpers | |||||
243 | end |
|
243 | end | |
244 |
|
244 | |||
245 | module TrackerObjectHelpers |
|
245 | module TrackerObjectHelpers | |
246 |
def generate_transitions!( |
|
246 | def generate_transitions!(arg) | |
247 | options = args.last.is_a?(Hash) ? args.pop : {} |
|
247 | if arg.delete(:clear) | |
248 | if args.size == 1 |
|
|||
249 | args << args.first |
|
|||
250 | end |
|
|||
251 | if options[:clear] |
|
|||
252 | WorkflowTransition.where(:tracker_id => id).delete_all |
|
248 | WorkflowTransition.where(:tracker_id => id).delete_all | |
253 | end |
|
249 | end | |
254 | args.each_cons(2) do |old_status_id, new_status_id| |
|
250 | role_id = arg.delete(:role_id) || 1 | |
255 | WorkflowTransition.create!( |
|
251 | ||
256 | :tracker => self, |
|
252 | arg.each do |old_status_id, new_status_ids| | |
257 | :role_id => (options[:role_id] || 1), |
|
253 | Array.wrap(new_status_ids).each do |new_status_id| | |
258 | :old_status_id => old_status_id, |
|
254 | WorkflowTransition.create!( | |
259 | :new_status_id => new_status_id |
|
255 | :tracker => self, | |
260 | ) |
|
256 | :role_id => role_id, | |
|
257 | :old_status_id => old_status_id, | |||
|
258 | :new_status_id => new_status_id | |||
|
259 | ) | |||
|
260 | end | |||
261 | end |
|
261 | end | |
262 | end |
|
262 | end | |
263 | end |
|
263 | end |
General Comments 0
You need to be logged in to leave comments.
Login now