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:
authorJames Lopez <james@jameslopez.es>2019-01-31 12:51:29 +0300
committerJames Lopez <james@jameslopez.es>2019-02-01 18:57:05 +0300
commitc75687b51924a481dd05cf00f9fc28a3d8fd7735 (patch)
tree8c02130c6478742aa29b1ddcded4a67b05eb5cf0 /app/services/members
parentb49563c39fb6aaa610f7683f9bc2f76842a766b5 (diff)
Update members service to cope with errors
Diffstat (limited to 'app/services/members')
-rw-r--r--app/services/members/create_service.rb14
1 files changed, 12 insertions, 2 deletions
diff --git a/app/services/members/create_service.rb b/app/services/members/create_service.rb
index 714b8586737..cf710fef52b 100644
--- a/app/services/members/create_service.rb
+++ b/app/services/members/create_service.rb
@@ -19,9 +19,19 @@ module Members
current_user: current_user
)
- members.each { |member| after_execute(member: member) }
+ errors = []
- success
+ members.each do |member|
+ if member.errors.any?
+ errors << "#{member.user.username}: #{member.errors.full_messages.to_sentence}"
+ else
+ after_execute(member: member)
+ end
+ end
+
+ return success unless errors.any?
+
+ error(errors.to_sentence)
end
private