Commit ed67ba966336c71583229063a12553f432643d64
1 parent
cc773654
Exists in
spb-stable
and in
3 other branches
Add support for close/reopen actions in update service
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
2 changed files
with
11 additions
and
2 deletions
Show diff stats
app/services/issues/reopen_service.rb
| @@ -3,7 +3,7 @@ module Issues | @@ -3,7 +3,7 @@ module Issues | ||
| 3 | def execute(issue) | 3 | def execute(issue) |
| 4 | if issue.reopen | 4 | if issue.reopen |
| 5 | event_service.reopen_issue(issue, current_user) | 5 | event_service.reopen_issue(issue, current_user) |
| 6 | - create_note(issue, commit) | 6 | + create_note(issue) |
| 7 | execute_hooks(issue) | 7 | execute_hooks(issue) |
| 8 | end | 8 | end |
| 9 | 9 |
app/services/issues/update_service.rb
| 1 | module Issues | 1 | module Issues |
| 2 | class UpdateService < BaseService | 2 | class UpdateService < BaseService |
| 3 | def execute(issue) | 3 | def execute(issue) |
| 4 | - if issue.update_attributes(params) | 4 | + state = params.delete('state_event') |
| 5 | + | ||
| 6 | + case state | ||
| 7 | + when 'reopen' | ||
| 8 | + Issues::ReopenService.new(project, current_user, {}).execute(issue) | ||
| 9 | + when 'close' | ||
| 10 | + Issues::CloseService.new(project, current_user, {}).execute(issue) | ||
| 11 | + end | ||
| 12 | + | ||
| 13 | + if params.present? && issue.update_attributes(params) | ||
| 5 | issue.reset_events_cache | 14 | issue.reset_events_cache |
| 6 | 15 | ||
| 7 | if issue.is_being_reassigned? | 16 | if issue.is_being_reassigned? |