diff options
author | AlexDenisov <1101.debian@gmail.com> | 2013-05-15 14:10:39 +0000 |
---|---|---|
committer | AlexDenisov <1101.debian@gmail.com> | 2013-05-16 10:32:26 +0000 |
commit | d08e1db93091418694130870406995f21502d478 (patch) | |
tree | 0db96e97173ce78e376a400e90707523d2b80db7 | |
parent | d79592a7f613f47e2dce67184ca3e2106658e2e5 (diff) | |
download | gitlab-ce-d08e1db93091418694130870406995f21502d478.tar.gz |
Cleanup bulk issues update a bit
-rw-r--r-- | app/contexts/issues/bulk_update_context.rb | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/app/contexts/issues/bulk_update_context.rb b/app/contexts/issues/bulk_update_context.rb index e92264a8bb1..8fe84d0e47c 100644 --- a/app/contexts/issues/bulk_update_context.rb +++ b/app/contexts/issues/bulk_update_context.rb @@ -8,6 +8,13 @@ module Issues assignee_id = update_data[:assignee_id] status = update_data[:status] + unless status.present? + return { + count: 0, + success: false + } + end + opts = {} opts[:milestone_id] = milestone_id if milestone_id.present? opts[:assignee_id] = assignee_id if assignee_id.present? @@ -15,16 +22,12 @@ module Issues issues = Issue.where(id: issues_ids).all issues = issues.select { |issue| can?(current_user, :modify_issue, issue) } + new_state = :reopen + new_state = :close if status == 'closed' + issues.each do |issue| issue.update_attributes(opts) - - if status.present? - if status == 'closed' - issue.close - else - issue.reopen - end - end + issue.send new_state end { |