function goToFamilyList(status){
window.location.href = "../families/index.php?status="+status;
}
function generatePsw(){
var rString = randomString(10, '0123456789abcdefghijklmnopqrstuvwxyz');
$('#create_user_5').val(rString);
$('#create_user_5_help_box').html("Password generata: "+rString);
//console.log(rString);
$('#create_user_5').trigger("click");
$('#create_user_5').trigger("focus");
}
function create(token) {
var first_name=$('#create_user_1').val();
var last_name=$('#create_user_2').val();
var business_name=$('#create_user_3').val();
var email=$('#create_user_4').val();
var password=$('#create_user_5').val();
var tel_value = $("#create_user_6").intlTelInput("getNumber");
var role=7;
var cities=[];
//città
$("input.city_list").each(function(){
city_id=$(this).val();
cities.push({slug:city_id});
});
if(!validateEmail(email)){
alert("Devi inserire un'email valida.");
return;
}
if(cities.length==0){
alert("Devi aggiungere almeno un comune per confermare.");
return;
}
if(tel_value==undefined){
alert("Il campo telefono è un campo obbligatorio");
return;
}
//alert("inside create");
toggleDefaultLoader();
var userData={
"business_name":business_name,
"first_name":first_name,
"last_name":last_name,
"email":email,
"password":password,
"role":role,
"cities":cities,
"phone_number":tel_value
};
//creo l'utente
var user_code=null;
var create_deferred = $.Deferred();
$.ajax({
url: remoteAPIurl+'/api/v1/user?api_token='+token,
crossDomain: true,
type: "put",
data: userData,
dataType: 'json',
success: function(result, statusText, resObject){
toggleDefaultLoader();
if(result.code==409){
toggleDefaultLoader();
alert("L'email inserita è già in uso.");
create_deferred.resolve();
return;
}
//console.log("---->user_code="+result.data.user_code);
user_code=result.data.user_code;
//console.log('User created');
goToFamilyList(0);
create_deferred.resolve();
},
error: function() { console.log('error'); }
});
}
/* ---- Overloading delle funzioni in headers.js, perchè la famiglia può avere una sola città di residenza ----- */
var addCity = (function() {
var b = addCity;
return function() {
b();
if($('.cities_list ul li').length==1){
$('.btn-add-city').prop("disabled",true);
$('.btn-add-city').addClass("btn-disabled");
$('.btn-add-city').removeClass("btn-success");
}
}
})();
/* -------------------------------------------------------- */
$(function(){
var provinces_list={};
var myProvincesList={};
$.fn.intlTelInput.loadUtils("/assets/js/utils.js");
$("#create_user_6").intlTelInput({preferredCountries: ["it","us", "gb"]});
getUser(ucode).done(function(result){
data=result.data;
myCities=data.cities;
//se l'utente del sistema ha almeno una città settata, devo recuperare la lista delle province attive
if(myCities.length>0){
$.each(myCities,function(id,elem){
myProvincesList[elem.province_slug]=1;
});
myCities=[];
}
objectLength=Object.keys(myProvincesList).length;
//console.log(objectLength);
getProvinces().done(function(result2){
var data=result.data;
edit_role_id=data.roles[0]["id"];
$.each(result2.data,function(id,province){
//console.log(province.slug);
if(objectLength==0 || typeof(myProvincesList[province.slug])!="undefined"){
provinces_list[province.slug]={slug:province.slug,name:province.name,cities:province.cities,tot:province.cities.length};
//console.log("prova");
}
});
//console.log(provinces_list);
/*$.each(result.data,function(id,province){
$(filter).append("")
});*/
result2.single_city_mode=1
if(objectLength==0 || edit_role_id==1){
//console.log("--->0");
//console.log(result);
displayProvinces('.places_list',result2,0);
}else{
//console.log("--->1");
displayProvinces('.places_list',{data:provinces_list,single_city_mode:1},0);
}
$('.province_selection_title').html("Seleziona la provincia di residenza");
$('.city_selection_title').html("Seleziona il comune di residenza e premi +");
$('.cities_list_title').html("Comune di residenza");
});
$.validate({
form : '#familyCreate',
modules : 'security',
onSuccess : function($form) {
//console.log('OK');
create(token);
return false; // Will stop the submission of the form
},
/*onValidate : function($form) {
return {
element : $('#some-input'),
message : 'This input has an invalid value for some reason'
}
},*/
onElementValidate : function(valid, $el, $form, errorMess) {
//console.log('Input ' +$el.attr('name')+ ' is ' + ( valid ? 'VALID':'NOT VALID') );
}
});
});
});