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') ); } }); }); });