Cleanup bulk issues update a bit
This commit is contained in:
parent
d79592a7f6
commit
d08e1db930
|
@ -8,6 +8,13 @@ module Issues
|
||||||
assignee_id = update_data[:assignee_id]
|
assignee_id = update_data[:assignee_id]
|
||||||
status = update_data[:status]
|
status = update_data[:status]
|
||||||
|
|
||||||
|
unless status.present?
|
||||||
|
return {
|
||||||
|
count: 0,
|
||||||
|
success: false
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
opts = {}
|
opts = {}
|
||||||
opts[:milestone_id] = milestone_id if milestone_id.present?
|
opts[:milestone_id] = milestone_id if milestone_id.present?
|
||||||
opts[:assignee_id] = assignee_id if assignee_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 = Issue.where(id: issues_ids).all
|
||||||
issues = issues.select { |issue| can?(current_user, :modify_issue, issue) }
|
issues = issues.select { |issue| can?(current_user, :modify_issue, issue) }
|
||||||
|
|
||||||
|
new_state = :reopen
|
||||||
|
new_state = :close if status == 'closed'
|
||||||
|
|
||||||
issues.each do |issue|
|
issues.each do |issue|
|
||||||
issue.update_attributes(opts)
|
issue.update_attributes(opts)
|
||||||
|
issue.send new_state
|
||||||
if status.present?
|
|
||||||
if status == 'closed'
|
|
||||||
issue.close
|
|
||||||
else
|
|
||||||
issue.reopen
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue