diff options
author | Alex Denisov <1101.debian@gmail.com> | 2012-09-20 10:25:29 +0300 |
---|---|---|
committer | Alex Denisov <1101.debian@gmail.com> | 2012-09-20 10:25:29 +0300 |
commit | e6ce47291b3f08ebe18c2450fc4f21a2a3a2b8a9 (patch) | |
tree | 0e5fa008658b3e890cc447477f533f35c45aafa5 /lib/api/issues.rb | |
parent | 77bfc591bf5836892be26059d92411f9fbf04be9 (diff) | |
parent | 6104942438c14ec7bd21c6cd5bd995272b3faff6 (diff) | |
download | gitlab-ce-e6ce47291b3f08ebe18c2450fc4f21a2a3a2b8a9.tar.gz |
master merged
Diffstat (limited to 'lib/api/issues.rb')
-rw-r--r-- | lib/api/issues.rb | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/lib/api/issues.rb b/lib/api/issues.rb index 4cfa7500e33..4ee2d11f15f 100644 --- a/lib/api/issues.rb +++ b/lib/api/issues.rb @@ -48,19 +48,14 @@ module Gitlab # Example Request: # POST /projects/:id/issues post ":id/issues" do - @issue = user_project.issues.new( - title: params[:title], - description: params[:description], - assignee_id: params[:assignee_id], - milestone_id: params[:milestone_id], - label_list: params[:labels] - ) + attrs = attributes_for_keys [:title, :description, :assignee_id, :milestone_id] + attrs[:label_list] = params[:labels] if params[:labels].present? + @issue = user_project.issues.new attrs @issue.author = current_user - if @issue.save present @issue, with: Entities::Issue else - error!({'message' => '404 Not found'}, 404) + not_found! end end @@ -81,19 +76,12 @@ module Gitlab @issue = user_project.issues.find(params[:issue_id]) authorize! :modify_issue, @issue - parameters = { - title: (params[:title] || @issue.title), - description: (params[:description] || @issue.description), - assignee_id: (params[:assignee_id] || @issue.assignee_id), - milestone_id: (params[:milestone_id] || @issue.milestone_id), - label_list: (params[:labels] || @issue.label_list), - closed: (params[:closed] || @issue.closed) - } - - if @issue.update_attributes(parameters) + attrs = attributes_for_keys [:title, :description, :assignee_id, :milestone_id, :closed] + attrs[:label_list] = params[:labels] if params[:labels].present? + if @issue.update_attributes attrs present @issue, with: Entities::Issue else - error!({'message' => '404 Not found'}, 404) + not_found! end end @@ -105,7 +93,7 @@ module Gitlab # Example Request: # DELETE /projects/:id/issues/:issue_id delete ":id/issues/:issue_id" do - error!({'message' => 'method not allowed'}, 405) + not_allowed! end end end |