diff options
author | James Lopez <james@jameslopez.es> | 2019-01-31 12:51:29 +0300 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2019-02-01 18:57:05 +0300 |
commit | c75687b51924a481dd05cf00f9fc28a3d8fd7735 (patch) | |
tree | 8c02130c6478742aa29b1ddcded4a67b05eb5cf0 /app/services | |
parent | b49563c39fb6aaa610f7683f9bc2f76842a766b5 (diff) |
Update members service to cope with errors
Diffstat (limited to 'app/services')
-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 |