|  |  | @ -7,15 +7,7 @@ module Api | 
			
		
	
		
		
			
				
					
					|  |  |  |     def index |  |  |  |     def index | 
			
		
	
		
		
			
				
					
					|  |  |  |       submitters = Submitters.search(@submitters, params[:q]) |  |  |  |       submitters = Submitters.search(@submitters, params[:q]) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       submitters = submitters.where(external_id: params[:application_key]) if params[:application_key].present? |  |  |  |       submitters = filter_submitters(submitters, params) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       submitters = submitters.where(external_id: params[:external_id]) if params[:external_id].present? |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |       submitters = submitters.where(submission_id: params[:submission_id]) if params[:submission_id].present? |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |       if params[:template_id].present? |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         submitters = submitters.joins(:submission).where(submission: { template_id: params[:template_id] }) |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |       end |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |       submitters = maybe_filder_by_completed_at(submitters, params) |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |       submitters = paginate( |  |  |  |       submitters = paginate( | 
			
		
	
		
		
			
				
					
					|  |  |  |         submitters.preload(:template, :submission, :submission_events, |  |  |  |         submitters.preload(:template, :submission, :submission_events, | 
			
		
	
	
		
		
			
				
					|  |  | @ -163,6 +155,19 @@ module Api | 
			
		
	
		
		
			
				
					
					|  |  |  |       submitter |  |  |  |       submitter | 
			
		
	
		
		
			
				
					
					|  |  |  |     end |  |  |  |     end | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     def filter_submitters(submitters, params) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       submitters = submitters.where(external_id: params[:application_key]) if params[:application_key].present? | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       submitters = submitters.where(external_id: params[:external_id]) if params[:external_id].present? | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       submitters = submitters.where(slug: params[:slug]) if params[:slug].present? | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       submitters = submitters.where(submission_id: params[:submission_id]) if params[:submission_id].present? | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       if params[:template_id].present? | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         submitters = submitters.joins(:submission).where(submission: { template_id: params[:template_id] }) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |       maybe_filder_by_completed_at(submitters, params) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     end | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     def assign_external_id(submitter, attrs) |  |  |  |     def assign_external_id(submitter, attrs) | 
			
		
	
		
		
			
				
					
					|  |  |  |       submitter.external_id = attrs[:application_key] if attrs.key?(:application_key) |  |  |  |       submitter.external_id = attrs[:application_key] if attrs.key?(:application_key) | 
			
		
	
		
		
			
				
					
					|  |  |  |       submitter.external_id = attrs[:external_id] if attrs.key?(:external_id) |  |  |  |       submitter.external_id = attrs[:external_id] if attrs.key?(:external_id) | 
			
		
	
	
		
		
			
				
					|  |  | 
 |