mirror of https://github.com/docusealco/docuseal
				
				
				
			
							parent
							
								
									bd853c6265
								
							
						
					
					
						commit
						be4a0505bc
					
				| @ -0,0 +1,52 @@ | ||||
| # frozen_string_literal: true | ||||
| 
 | ||||
| module Submissions | ||||
|   module AssignDefinedSubmitters | ||||
|     module_function | ||||
| 
 | ||||
|     def call(submission) | ||||
|       submission.submitters_order = 'preserved' | ||||
| 
 | ||||
|       assign_defined_submitters(submission) | ||||
|       assign_linked_submitters(submission) | ||||
| 
 | ||||
|       if submission.submitters.size == 1 && submission.template.submitters.size == 2 | ||||
|         submission.submitters.new( | ||||
|           account_id: submission.account_id, | ||||
|           uuid: submission.template.submitters.second['uuid'], | ||||
|           email: submission.template.author.email | ||||
|         ) | ||||
|       end | ||||
| 
 | ||||
|       submission | ||||
|     end | ||||
| 
 | ||||
|     def assign_defined_submitters(submission) | ||||
|       submission.template.submitters.to_a.select do |item| | ||||
|         next if item['email'].blank? && item['is_requester'].blank? | ||||
| 
 | ||||
|         submission.submitters.new( | ||||
|           account_id: submission.account_id, | ||||
|           uuid: item['uuid'], | ||||
|           email: item['is_requester'] ? submission.template.author.email : item['email'] | ||||
|         ) | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     def assign_linked_submitters(submission) | ||||
|       submission.template.submitters.to_a.select do |item| | ||||
|         next if item['linked_to_uuid'].blank? | ||||
| 
 | ||||
|         email = submission.submitters.find { |s| s.uuid == item['linked_to_uuid'] }&.email | ||||
| 
 | ||||
|         next unless email | ||||
| 
 | ||||
|         submission.submitters.new( | ||||
|           account_id: submission.account_id, | ||||
|           uuid: item['uuid'], | ||||
|           email: | ||||
|         ) | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| end | ||||
					Loading…
					
					
				
		Reference in new issue