templates/frontend/clinics/register.html.twig line 1
{% extends 'layout.html.twig' %}
{% block title %}Hello DistributorsController!{% endblock %}
{% block body %}
{# Postionn #}
{# Country #}
{% for country in countries %}
{% endfor %}
{# Email #}
{# Telephone #}
{# Clinic Name #}
{# Telephone #}
{% endblock %}
{% block javascripts %}
{{ parent() }}
$(document).ready(function (){
// Navbar
let navBarHeight = $('.navbar').outerHeight();
$('.page-wrapper').css({'margin-top': parseInt(navBarHeight) +'px'});
// International Numbers Personal
let input = document.querySelector('#telephone');
iti = window.intlTelInput(input, {
initialCountry: "auto",
geoIpLookup: function(success, failure) {
$.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) {
var countryCode = (resp && resp.country) ? resp.country : "ae";
success(countryCode);
});
},
preferredCountries: ['ae','qa', 'bh', 'om', 'sa'],
autoPlaceholder: "polite",
nationalMode: true,
utilsScript: "{{ asset('js/utils.min.js') }}", // just for formatting/placeholders etc
separateDialCode: true,
utilsScript: "/js/utils.js",
});
$(document).on('change keyup', '#telephone', function (){
let handleChange = function() {
let mobile = $('#business_telephone');
let mobile_number = (iti.isValidNumber()) ? iti.getNumber() : false;
let textNode = document.createTextNode(mobile_number);
if(mobile_number !== false){
let iso_code = iti.getSelectedCountryData().iso2;
let intl_code = iti.getSelectedCountryData().dialCode;
mobile.val(mobile_number.substring(1));
$('#business_iso_code').val(iso_code);
$('#business_intl_code').val(intl_code);
}
};
// listen to "keyup", but also "change" to update when the user selects a country
input.addEventListener('change', handleChange);
input.addEventListener('keyup', handleChange);
});
// International Numbers Personal
let input_clinic = document.querySelector('#mobile_telephone');
iti_clinic = window.intlTelInput(input_clinic, {
initialCountry: "auto",
geoIpLookup: function(success, failure) {
$.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) {
var countryCode = (resp && resp.country) ? resp.country : "ae";
success(countryCode);
});
},
preferredCountries: ['ae','qa', 'bh', 'om', 'sa'],
autoPlaceholder: "polite",
nationalMode: true,
utilsScript: "{{ asset('js/utils.min.js') }}", // just for formatting/placeholders etc
separateDialCode: true,
utilsScript: "/js/utils.js",
});
$(document).on('change keyup', '#mobile_telephone', function (){
let handleChange = function() {
let mobile = $('#mobile_telephone_hidden');
let mobile_number = (iti_clinic.isValidNumber()) ? iti_clinic.getNumber() : false;
let textNode = document.createTextNode(mobile_number);
if(mobile_number != false){
let iso_code = iti.getSelectedCountryData().iso2;
let intl_code = iti.getSelectedCountryData().dialCode;
mobile.val(mobile_number.substring(1));
$('#mobile_iso_code').val(iso_code);
$('#mobile_intl_code').val(intl_code);
}
};
// listen to "keyup", but also "change" to update when the user selects a country
input_clinic.addEventListener('change', handleChange);
input_clinic.addEventListener('keyup', handleChange);
});
$(document).on('change', '#email', function (){
let email = $('#email').val();
let errorEmail = $('#error_email');
errorEmail.hide();
$.ajax({
url: "{{ path('clinic_check_email') }}",
type: 'POST',
dataType: 'json',
data: {
email: email
},
complete: function(e, xhr, settings){
if(e.status === 500){
//window.location.href = '{{ path('clinic_error_500') }}';
}
},
success: function (response) {
if(!response.response)
{
if(response.restricted)
{
errorEmail.empty().append('Domain name is not allowed').show();
} else
{
errorEmail.empty().append('Your business is already registered, please contact '+ response.firstName).show();
}
$('#email').val('');
}
}
});
});
$('#register_form').submit(function(e)
{
e.preventDefault();
var is_valid = true;
var first_name = $('#first_name').val();
var last_name = $('#last_name').val();
var position = $('#position').val();
let country = $('#country').val();
var email = $('#email').val();
var telephone = $('#telephone').val();
var clinic_name = $('#clinic_name').val();
var mobile_telephone = $('#mobile_telephone').val();
var error_position = $('#error_position');
var error_first_name = $('#error_first_name');
var error_last_name = $('#error_last_name');
let error_country = $('#error_country');
var error_email = $('#error_email');
var error_telephone = $('#error_telephone');
var error_clinic_name = $('#error_clinic_name');
var error_mobile_telephone = $('#error_mobile_telephone')
error_position.hide();
error_first_name.hide();
error_last_name.hide();
error_country.hide();
error_email.hide();
error_telephone.hide();
error_clinic_name.hide();
error_mobile_telephone.hide();
if(position === '' || position === 'undefined'){
error_position.show();
is_valid = false;
}
if(first_name === '' || first_name === 'undefined'){
error_first_name.show();
is_valid = false;
}
if(last_name === '' || last_name === 'undefined'){
error_last_name.show();
is_valid = false;
}
if(country === '' || country === 'undefined')
{
error_country.show();
}
if(email === '' || email === 'undefined'){
error_email.empty().append('Required Field');
error_email.show();
is_valid = false;
}
if(telephone === '' || telephone === 'undefined' || telephone === 0){
error_telephone.show();
is_valid = false;
}
if(clinic_name === '' || clinic_name === 'undefined'){
error_clinic_name.show();
is_valid = false;
}
if(mobile_telephone === '' || mobile_telephone === 'undefined'){
error_mobile_telephone.show();
is_valid = false;
}
if(is_valid === true){
let data = new FormData(this);
$.ajax({
url: "{{ path('clinic_create') }}",
type: 'POST',
contentType: false,
processData: false,
cache: false,
timeout: 600000,
dataType: 'json',
data: data,
beforeSend: function (){
isLoading(true);
},
complete: function(e, xhr, settings){
if(e.status === 500){
//window.location.href = '{{ path('clinic_error_500') }}';
}
},
success: function (response) {
$('#row_1').empty().addClass('border-bottom');
$('#row_2').remove();
$('#row_3').remove();
$('#row_4').remove();
$('#row_5').remove();
$('#row_1').append(''+response+'
');
$('#error_email').hide();
isLoading(false);
}
});
}
});
function isLoading(status){
if(status) {
$("div.spanner").addClass("show");
$("div.overlay").addClass("show");
} else {
$("div.spanner").removeClass("show");
$("div.overlay").removeClass("show");
}
}
});
{% endblock %}