Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Ziebell <sebastian.ziebell@asquera.de>2013-02-06 18:03:05 +0400
committerSebastian Ziebell <sebastian.ziebell@asquera.de>2013-02-06 20:10:29 +0400
commit5be0265fe7e82a127e9fd2805e81e4e40f5e3c5f (patch)
tree84b2cf93fd19aa260347cda54e521fb9e6b9a9e5 /lib/api/milestones.rb
parent41e93bbfe23b3791d1b440dd3961d4fadfbb8461 (diff)
Status code 400 returned if title not given in a milestone (via API)
If a milestone is created via API but no title given then status code 400 (Bad request) is returned instead of 404. A small helper method handles the errors collection of a milestone.
Diffstat (limited to 'lib/api/milestones.rb')
-rw-r--r--lib/api/milestones.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/api/milestones.rb b/lib/api/milestones.rb
index 6aca9d01b09..1f7d0876120 100644
--- a/lib/api/milestones.rb
+++ b/lib/api/milestones.rb
@@ -4,6 +4,20 @@ module Gitlab
before { authenticate! }
resource :projects do
+
+ helpers do
+ # If an error occurs this helper method handles error codes for a given milestone
+ #
+ # Parameters:
+ # milestone_errors (required) - The erros collection of a milestone
+ #
+ def handle_milestone_errors(milestone_errors)
+ if milestone_errors[:title].any?
+ error!(milestone_errors[:title], 400)
+ end
+ end
+ end
+
# Get a list of project milestones
#
# Parameters:
@@ -47,6 +61,7 @@ module Gitlab
if @milestone.save
present @milestone, with: Entities::Milestone
else
+ handle_milestone_errors(@milestone.errors)
not_found!
end
end
@@ -70,6 +85,7 @@ module Gitlab
if @milestone.update_attributes attrs
present @milestone, with: Entities::Milestone
else
+ handle_milestone_errors(@milestone.errors)
not_found!
end
end