function goToUserList(role_id){
window.location.href = "../users/index.php?role="+role_id;
}
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 displayEdit(ucode,provinces_list){
getUser(ucode).done(function(result){
var data=result.data;
edit_role_id=data.roles[0]["id"];
//console.log("---->"+role_id);
$('#create_user_1').val(data.first_name);
$('#create_user_2').val(data.last_name);
$('#create_user_3').val(data.business_name);
$('#create_user_4').val(data.email);
$('#create_user_4').after("");
$('.cities_list_title').css("display","block");
getProvinces().done(function(result2){
//console.log(provinces_list);
$.each(data.cities, function(city_key,city_value){
//console.log("città da cancellare "+city_value.id);
city_id=city_value.id;
$.each(provinces_list,function(k1,v1){
//console.log("provinces_slug="+k1);
$.each(v1.cities,function(k2,v2){
//console.log(provinces_list[k1].not_owned_cities);
if(v2!=null && v2.id==city_id){
//console.log(k1+"=>");
if(typeof(provinces_list[k1].tot_owned)=="undefined") provinces_list[k1].tot_owned=0;
provinces_list[k1].tot--;
provinces_list[k1].tot_owned++;
//console.log(provinces_list[k1]);
}
});
});
});
//console.log(data.cities);
// console.log(provinces_list);
//console.log(typeof(provinces_list));
//visualizzo accorpamenti per provincia nei risultati
//console.log(provinces_list);
$.each(provinces_list, function(key,value){
//console.log("lol");
//ho tutte le città di questa provincia
if(value.tot==0){
li_id="all-"+key;
//console.log("li_id="+li_id);
//console.log("
Tutti i comuni in prov. di "+value.name+"
");
$('.cities_list ul').append("
Tutti i comuni in prov. di "+value.name+"
");
$('li#'+li_id).append("");
$.each(value.cities,function(key2,value2){
var id2=value2.id;
//console.log("content="+id2);
$('.cities_list ul li#city_'+id2).remove();
if(id2!="all" && id2!=null && id2!="") $('#'+li_id).append("")
});
}
});
//console.log("----------------");
//visualizzo comuni
$.each(data.cities, function(city_key,city_value){
if($('li#city_'+city_value.id).length==0 && $('.city_list[value='+city_value.id+']').length==0){
province_slug=city_value.province_slug;
$('.cities_list ul').append("
["+province_slug+"]"+city_value.name+"
");
$('#city_'+city_value.id).append("");
}
});
});
});
}
function update(ucode,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 status=$('#create_user_status').val();
var cities=[];
//città
$("input.city_list").each(function(){
city_id=$(this).val();
cities.push({slug:city_id});
});
if(cities.length==0){
alert("Devi aggiungere almeno un comune per confermare.");
return;
}
toggleDefaultLoader();
//console.log(cities);
//return;
var userData={
"business_name":business_name,
"first_name":first_name,
"last_name":last_name,
"email":email,
"cities":cities
};
$.ajax({
url: remoteAPIurl+'/api/v1/user/'+ucode+'?api_token='+token,
crossDomain: true,
type: "put",
data: userData,
dataType: 'json',
success: function(result, statusText, resObject){
//console.log("---->user_code="+result.data.user_code);
//user_code=result.data.user_code;
//console.log('User created');
toggleDefaultLoader();
goToUserList(edit_role_id);
},
error: function() { console.log('error'); }
});
}
$(function(){
var provinces_list={};
var myProvincesList={};
/*$.ajax({
url: remoteAPIurl+'/api/v1/role?api_token='+token,
crossDomain: true,
dataType: 'text json',
success: function(data, statusText, resObject){
populateRoleList(data, statusText, resObject);
},
error: function() { console.log('error'); }
});*/
console.log(ucode);
getUser(ucode).done(function(result){
data=result.data;
myCities=data.cities;
role_slug=data.roles[0]["role_slug"];
console.log(myCities);
if(role_slug=="super-admin" || role_slug=="super-user"){
myCities=[];
}else{
//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;
});
}
}
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("")
});*/
if(objectLength==0 || edit_role_id==1) displayProvinces('.places_list',result2,0,myCities);
else displayProvinces('.places_list',{data:provinces_list},0,myCities);
//questa funzione risolve parte dei problemi legate alle città dell'operatore che sta inserendo la città, la displayProvinces precedente è quasi ridondante
displayEdit(edit_code,provinces_list);
});
});
$.validate({
form : '#userCreate',
modules : 'security',
onSuccess : function($form) {
//console.log('OK');
update(edit_code,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') );
}
});
});