Commit d08e1db93091418694130870406995f21502d478
1 parent
d79592a7
Exists in
master
and in
4 other branches
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 | 8 | assignee_id = update_data[:assignee_id] |
9 | 9 | status = update_data[:status] |
10 | 10 | |
11 | + unless status.present? | |
12 | + return { | |
13 | + count: 0, | |
14 | + success: false | |
15 | + } | |
16 | + end | |
17 | + | |
11 | 18 | opts = {} |
12 | 19 | opts[:milestone_id] = milestone_id if milestone_id.present? |
13 | 20 | opts[:assignee_id] = assignee_id if assignee_id.present? |
... | ... | @@ -15,16 +22,12 @@ module Issues |
15 | 22 | issues = Issue.where(id: issues_ids).all |
16 | 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 | 28 | issues.each do |issue| |
19 | 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 | 31 | end |
29 | 32 | |
30 | 33 | { | ... | ... |