Commit d08e1db93091418694130870406995f21502d478

Authored by AlexDenisov
1 parent d79592a7

Cleanup bulk issues update a bit

Showing 1 changed file with 11 additions and 8 deletions   Show diff stats
app/contexts/issues/bulk_update_context.rb
@@ -8,6 +8,13 @@ module Issues @@ -8,6 +8,13 @@ module Issues
8 assignee_id = update_data[:assignee_id] 8 assignee_id = update_data[:assignee_id]
9 status = update_data[:status] 9 status = update_data[:status]
10 10
  11 + unless status.present?
  12 + return {
  13 + count: 0,
  14 + success: false
  15 + }
  16 + end
  17 +
11 opts = {} 18 opts = {}
12 opts[:milestone_id] = milestone_id if milestone_id.present? 19 opts[:milestone_id] = milestone_id if milestone_id.present?
13 opts[:assignee_id] = assignee_id if assignee_id.present? 20 opts[:assignee_id] = assignee_id if assignee_id.present?
@@ -15,16 +22,12 @@ module Issues @@ -15,16 +22,12 @@ module Issues
15 issues = Issue.where(id: issues_ids).all 22 issues = Issue.where(id: issues_ids).all
16 issues = issues.select { |issue| can?(current_user, :modify_issue, issue) } 23 issues = issues.select { |issue| can?(current_user, :modify_issue, issue) }
17 24
  25 + new_state = :reopen
  26 + new_state = :close if status == 'closed'
  27 +
18 issues.each do |issue| 28 issues.each do |issue|
19 issue.update_attributes(opts) 29 issue.update_attributes(opts)
20 -  
21 - if status.present?  
22 - if status == 'closed'  
23 - issue.close  
24 - else  
25 - issue.reopen  
26 - end  
27 - end 30 + issue.send new_state
28 end 31 end
29 32
30 { 33 {