Copy stripe js template into pinaxcon
Shouldnt be neccessary, template loader should be finding the template provided by the installed app. but it's not, and I want rego to go live today, so here we go. One day when things are nice this commit can be reverted and I will be crying a little less on the inside.
This commit is contained in:
		
							parent
							
								
									359640cfa1
								
							
						
					
					
						commit
						50145c03fe
					
				
					 1 changed files with 68 additions and 0 deletions
				
			
		
							
								
								
									
										68
									
								
								pinaxcon/templates/registrasion/stripe/js/form_handler.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								pinaxcon/templates/registrasion/stripe/js/form_handler.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,68 @@ | ||||||
|  | var stripe = Stripe('{{ PINAX_STRIPE_PUBLIC_KEY }}'); | ||||||
|  | var elements = stripe.elements(); | ||||||
|  | 
 | ||||||
|  | function stripeify(elementId) { | ||||||
|  |   var element = elements.create(elementId); | ||||||
|  |   element.mount('#' + elementId); | ||||||
|  | 
 | ||||||
|  |   var htmlElement = document.getElementById(elementId); | ||||||
|  |   var errors = elementId + "-errors"; | ||||||
|  |   htmlElement.insertAdjacentHTML("afterend", "<div id='" + errors + "' role='alert' class='help-block'></div>"); | ||||||
|  |   var displayError = document.getElementById(errors); | ||||||
|  | 
 | ||||||
|  |   //Handle real-time validation errors from the card Element.
 | ||||||
|  |   element.addEventListener('change', function(event) { | ||||||
|  |     toggleErrorMessage(displayError, event.error); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   // Create a token or display an error when the form is submitted.
 | ||||||
|  |   var paymentForm = document.getElementById('payment-form'); | ||||||
|  |   paymentForm.addEventListener('submit', function(event) { | ||||||
|  |     event.preventDefault(); | ||||||
|  | 
 | ||||||
|  |     stripe.createToken(element).then(function(result) { | ||||||
|  |       if (result.error) { | ||||||
|  |         // Inform the user if there was an error
 | ||||||
|  |         toggleErrorMessage(displayError, result.error); | ||||||
|  |       } else { | ||||||
|  |         // Send the token to your server
 | ||||||
|  |         stripeTokenHandler(result.token); | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function toggleErrorMessage(errorElement, maybeError) { | ||||||
|  |   errorClass = inputErrorClassName(); | ||||||
|  |   if (maybeError) { | ||||||
|  |     errorElement.textContent = maybeError.message; | ||||||
|  |     errorElement.parentNode.classList.add(errorClass); | ||||||
|  |   } else { | ||||||
|  |     errorElement.textContent = ''; | ||||||
|  |     errorElement.parentNode.classList.remove(errorClass); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | function inputErrorClassName() { | ||||||
|  |   return {% block form_control_error_class %}"has-error"{% endblock %}; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | function stripeTokenHandler(token) { | ||||||
|  |   // Insert the token ID into the form so it gets submitted to the server
 | ||||||
|  | 
 | ||||||
|  |   var form = document.getElementById('payment-form'); | ||||||
|  |   tokenHolder = form.getElementsByClassName('registrasion-stripe-token')[0]; | ||||||
|  |   inputId = tokenHolder.dataset.inputId; | ||||||
|  | 
 | ||||||
|  |   var hiddenInput = document.createElement('input'); | ||||||
|  |   hiddenInput.setAttribute('type', 'hidden'); | ||||||
|  |   hiddenInput.setAttribute('name', inputId); | ||||||
|  |   hiddenInput.setAttribute('value', token.id); | ||||||
|  | 
 | ||||||
|  |   tokenHolder.appendChild(hiddenInput); | ||||||
|  | 
 | ||||||
|  |   // Submit the form
 | ||||||
|  |   form.submit(); | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 James Polley
						James Polley