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