From c75687b51924a481dd05cf00f9fc28a3d8fd7735 Mon Sep 17 00:00:00 2001 From: James Lopez Date: Thu, 31 Jan 2019 10:51:29 +0100 Subject: Update members service to cope with errors --- app/services/members/create_service.rb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'app/services/members') 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 -- cgit v1.2.3