diff options
author | James Lopez <james@jameslopez.es> | 2019-01-31 10:51:29 +0100 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2019-02-01 16:57:05 +0100 |
commit | c75687b51924a481dd05cf00f9fc28a3d8fd7735 (patch) | |
tree | 8c02130c6478742aa29b1ddcded4a67b05eb5cf0 /app/services/members/create_service.rb | |
parent | b49563c39fb6aaa610f7683f9bc2f76842a766b5 (diff) | |
download | gitlab-ce-c75687b51924a481dd05cf00f9fc28a3d8fd7735.tar.gz |
Update members service to cope with errors
Diffstat (limited to 'app/services/members/create_service.rb')
-rw-r--r-- | app/services/members/create_service.rb | 14 |
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 |