diff options
Diffstat (limited to 'lib/api/issues.rb')
| -rw-r--r-- | lib/api/issues.rb | 20 | 
1 files changed, 10 insertions, 10 deletions
| diff --git a/lib/api/issues.rb b/lib/api/issues.rb index 169c58b0075..f50be3a815d 100644 --- a/lib/api/issues.rb +++ b/lib/api/issues.rb @@ -74,18 +74,18 @@ module API        # Example Request:        #   PUT /projects/:id/issues/:issue_id        put ":id/issues/:issue_id" do -        set_current_user_for_thread do -          @issue = user_project.issues.find(params[:issue_id]) -          authorize! :modify_issue, @issue +        issue = user_project.issues.find(params[:issue_id]) +        authorize! :modify_issue, issue -          attrs = attributes_for_keys [:title, :description, :assignee_id, :milestone_id, :state_event] -          attrs[:label_list] = params[:labels] if params[:labels].present? +        attrs = attributes_for_keys [:title, :description, :assignee_id, :milestone_id, :state_event] +        attrs[:label_list] = params[:labels] if params[:labels].present? + +        issue = ::Issues::UpdateService.new(user_project, current_user, attrs).execute(issue) -          if @issue.update_attributes attrs -            present @issue, with: Entities::Issue -          else -            not_found! -          end +        if issue.valid? +          present issue, with: Entities::Issue +        else +          not_found!          end        end | 
