diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-04-02 15:50:50 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-04-02 15:50:50 +0300 |
commit | ed67ba966336c71583229063a12553f432643d64 (patch) | |
tree | d5fcbd47f85e6e9824ce8d08c07c5fc40210ab10 /app | |
parent | cc773654883d34c70462eeeeb280453473c35e21 (diff) | |
download | gitlab-ce-ed67ba966336c71583229063a12553f432643d64.tar.gz |
Add support for close/reopen actions in update service
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app')
-rw-r--r-- | app/services/issues/reopen_service.rb | 2 | ||||
-rw-r--r-- | app/services/issues/update_service.rb | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/app/services/issues/reopen_service.rb b/app/services/issues/reopen_service.rb index 743a5d6c4a8..e1e5a97229c 100644 --- a/app/services/issues/reopen_service.rb +++ b/app/services/issues/reopen_service.rb @@ -3,7 +3,7 @@ module Issues def execute(issue) if issue.reopen event_service.reopen_issue(issue, current_user) - create_note(issue, commit) + create_note(issue) execute_hooks(issue) end diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb index 4d8d71b4c9f..9e73953bdcc 100644 --- a/app/services/issues/update_service.rb +++ b/app/services/issues/update_service.rb @@ -1,7 +1,16 @@ module Issues class UpdateService < BaseService def execute(issue) - if issue.update_attributes(params) + state = params.delete('state_event') + + case state + when 'reopen' + Issues::ReopenService.new(project, current_user, {}).execute(issue) + when 'close' + Issues::CloseService.new(project, current_user, {}).execute(issue) + end + + if params.present? && issue.update_attributes(params) issue.reset_events_cache if issue.is_being_reassigned? |