diff --git a/app/services/issues/reopen_service.rb b/app/services/issues/reopen_service.rb index 743a5d6..e1e5a97 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 4d8d71b..9e73953 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? -- libgit2 0.21.2