var semaforo_autosave=true; function getModel(id){ var create_deferred = $.Deferred(); $.ajax({ url: remoteAPIurl+'/api/v1/model/'+id+'?api_token='+token, crossDomain: true, type: "get", dataType: 'json', success: function(result, statusText, resObject){ create_deferred.resolve(result); }, error: function() { console.log('error'); } }); return create_deferred; } function getAllModels(){ var create_deferred = $.Deferred(); $.ajax({ url: remoteAPIurl+'/api/v1/model?api_token='+token, crossDomain: true, type: "get", dataType: 'json', success: function(result, statusText, resObject){ var models=[]; $.each(result.data,function(id,elem){ models[elem.id]=elem; }); //console.log(models); create_deferred.resolve(models); }, error: function() { console.log('error'); } }); return create_deferred; } function logout(e){ confirmExitDeferred(e).done(function(){ localStorage.removeItem(radix+'utoken'); localStorage.removeItem(radix+'ucode'); window.location.href="/users/login.php"; }); } function uploadFile(icode, ivalue,filename){ //var file = _("file1").files[0]; //var file=$('input [code="'+icode+'"]')[0].files[0]; //console.log($('input [code="'+icode+'"]').attr('value')); //alert(icode+" "+ivalue+" "+filename); var file=ivalue; // alert(file.name+" | "+file.size+" | "+file.type); var formdata = new FormData(); formdata.append("file1", file); formdata.append("filename", filename); var ajax = new XMLHttpRequest(); //ajax.upload.addEventListener("progress", progressHandler, false); ajax.addEventListener("load", function(){/*alert('ok');*/}, false); ajax.addEventListener("done", function(){alert('done');}, false); ajax.addEventListener("error", function(){alert('error');}, false); ajax.addEventListener("abort", function(){alert('abort');}, false); ajax.open("POST", "/workers/file_upload_parser.php"); ajax.send(formdata); } function isEmptyField(code){ var filter='[code='+code+"]"; if($(filter).length==0){ console.log("Error, field with code "+code+" doesn't exists"); return false; } elem_val=$(filter).val(); console.log(elem_val); if(elem_val=="" || elem_val==null){ return true; } return false; } function autoSave(user_code){ if(semaforo_autosave){ console.log("AUTOSAVE!!"); var cdeferred=manageCurriculum(user_code,1); //console.log(cdeferred); }else{ var cdeferred = $.Deferred(); } return cdeferred; } function checkUpdateCurriculum(ucode){ checkTokenLock(ucode).done(function(result){ if(result==0){ updateCurriculum(ucode); }else{ window.location.href="/"; } }); } function updateCurriculum(user_code){ var returnFunction = false; $('.modal-body p').html(""); $('.has-error').removeClass("has-error"); var professions=[]; //professioni $("body").find(".pro_selection").each(function(){ if($(this).prop("checked")){ prof_id=$(this).parent().attr("id").replace("prof_",""); professions.push(prof_id); } }); //console.log(professions); $(".tab-container > div").each(function(id,elem){ var div_id=$(elem).attr("id"); title=$('a[href=#'+div_id+']').html(); //campo tipologia candidato //console.log(div_id); var checkbox_list_done={}; $(elem).find("input,select,textarea").each(function(id2,elem2){ elem_value=$(elem2).val(); input_type=$(elem2).attr("type"); input_code=$(elem2).attr("code"); input_required=$(elem2).attr("required"); //logica dell'ALMENO UNO if(input_type=="checkbox" && input_required!=undefined){ //controllo se l'input checkbox sia già presente if(checkbox_list_done[input_code]!=undefined) return true; else checkbox_list_done[input_code]=1; var at_least_one=false; $('input[code='+input_code+']').each(function(id3,elem3){ if($(elem3).prop("checked")==true) at_least_one=true; }); if(!at_least_one){ returnFunction = true; $(elem2).parents('.col-sm-5').addClass("has-error"); field_title=$(elem2).parents('.input.form-group').find(".col-sm-2").html(); errorText="In tab '"+title+"'"; if($('.modal-body p').find(".title_error_"+div_id).length==0) $('.modal-body p').append("
"+errorText+"
"); errorText="Attenzione, per '"+field_title+"' devi selezionare almeno un checkbox."; $('.modal-body p').append("
"+errorText+"
"); } //console.log("input_type="+input_type); } if((elem_value=="" || elem_value==undefined) && input_required!=undefined){ if((input_type!=undefined && input_type!="file" && input_type!="checkbox") || $(elem2).is('select')){ returnFunction = true; $(elem2).parent().addClass("has-error"); field_title=$(elem2).parent().parent().parent().find(".col-sm-2").html(); if(field_title==""){ //console.log("A required file has no title."); return true; } errorText="In tab '"+title+"'"; if($('.modal-body p').find(".title_error_"+div_id).length==0) $('.modal-body p').append("
"+errorText+"
"); //console.log("input_type="+input_type); //console.log("1- field_title="+field_title); //if(field_title=="") console.log($(elem2)); errorText="Attenzione, '"+field_title+"' è un campo obbligatorio."; $('.modal-body p').append("
"+errorText+"
"); }else if(input_type=="file"){ //console.log("2- field_title=nessuno"); elem_hidden=$('input[code='+$(elem2).attr("code")+'H1]'); if(elem_hidden.val()==""){ returnFunction = true; $(elem2).parent().addClass("has-error"); errorText="In tab '"+title+"'"; if($('.modal-body p').find(".title_error_"+div_id).length==0) $('.modal-body p').append("
"+errorText+"
"); field_title=$(elem2).parent().parent().prev().find(".col-sm-2").html(); errorText="Attenzione, il campo file di '"+field_title+"' è un campo obbligatorio."; $('.modal-body p').append("
"+errorText+"
"); } } } }); }); if($("input.city_list").length==0){ errorText="Attenzione, per salvare il curriculum devi selezionare almeno un comune nella sezione 'Seleziona i comuni in cui lavori'"; $('.city_select,.province_select').parent().addClass("has-error"); $('.modal-body p').append("
"+errorText+"
"); returnFunction = true; } //console.log($("input.pro_selection:checked").length); if($("input.pro_selection:checked").length==0){ errorText="Attenzione, per salvare il curriculum devi selezionare almeno una professione nel tab 'Qualifiche'"; $('.modal-body p').append("
"+errorText+"
"); returnFunction = true; } //controllo esperienze - valorizzazione del campo mesi se valorrizata fascia oraria for(var k=0; k"+errorText+""); returnFunction = true; } } } } if(returnFunction){ openPopup(); return false; } //console.log("lalalla"); confirm('Confermando aggiornerai il curriculum. Sei sicuro di voler procedere?').done(function(){ autoSave(user_code).done(function(){ semaforo_autosave=false; manageCurriculum(user_code,0); }); }); } function clearTempStates(user_code){ var remoteUrl=remoteAPIurl+'/api/v1/profile/'+user_code+'/clear?api_token='+token; $.ajax({ url: remoteUrl, crossDomain: true, type: "put", //data: curriculumData, dataType: 'json', success: function(result, statusText, resObject){ //console.log("cleared states "+user_code); }, error: function() { console.log('error'); } }); } var profession_list_change=false; //variabile che controlla se è cambiata la lista delle professioni function manageCurriculum(user_code,mode){ var create_deferred = $.Deferred(); if(!mode) mode=0; var professions=[]; var cities=[]; var inputs=[]; var checkboxes={}; //console.log("mode="+mode); if(mode==0) showLoader(); //città $("input.city_list").each(function(){ city_id=$(this).val(); cities.push(city_id); }); //chiave valore per tutti gli input, da salvare in mongodb $("body").find("[modified=1]").each(function(id,elem){ //console.log("1"); var icode = $(this).attr("code"); var modified = $(this).attr("modified"); //console.log("2"); //if(!modified) return true; if(typeof icode !== typeof undefined && icode !== false){ //console.log("3"); if($(this).val()!=null) var ivalue = $(this).val(); else var ivalue=""; //console.log("4"); if($(elem).attr("type")=="hidden"){ ivalue=$(elem).attr("value"); } //console.log("5"); if($(elem).attr("type")=="radio"){ if($(elem).prop("checked")==true){ inputs.push({ key: icode, value: $(elem).attr("value") }); //console.log("-------"); //console.log(inputs); //return; } }else if($(elem).attr("type")=="checkbox"){ if($(elem).prop("checked")==true){ if(!checkboxes.hasOwnProperty(icode)) checkboxes[icode]=""; if(checkboxes[icode]!="") checkboxes[icode]+="," + $(elem).attr("value"); else checkboxes[icode]=$(elem).attr("value"); }else{ if(!checkboxes.hasOwnProperty(icode)) checkboxes[icode]=""; } }else{ if($(elem).attr("type")!="file"){ inputs.push({ key: icode, value: ivalue }); } else { if($(elem).attr("video")=="video") { //PIPPO if(ivalue!=""){ var filename=Math.random().toString(36).substring(7)+".mp4"; uploadFile(icode, ivalue, filename); } else { var filename=""; } inputs.push({ key: icode, value: filename }) //console.log(icode+ " "+ivalue); } } } //console.log("6"); } }); $.each(checkboxes,function(id,elem){ inputs.push({ key: id, value: elem }); }); //console.log(checkboxes); var professions=[] //professioni $("body").find(".pro_selection").each(function(){ if($(this).prop("checked")){ prof_id=$(this).parent().attr("id").replace("prof_",""); professions.push(prof_id); } }); //console.log("7"); var additionalPath=""; if(mode==0){ var curriculumData={ "professions": professions, "fields": inputs, "cities": cities }; }else{ if(!profession_list_change){ //console.log(profession_list_change); professions=[]; } var curriculumData={ "professions": professions, "fields": inputs }; additionalPath="/autosave"; profession_list_change=false; } //console.log("8"); //console.log(curriculumData); //creo il modello //var user_code=null; //var create_deferred = this.request.Deferred(); var remoteUrl=remoteAPIurl+'/api/v1/profile/'+user_code+additionalPath+'?api_token='+token; //number_of_modifies=$("body").find("input[modified=1],select[modified=1],textarea[modified=1]").length; /*if(number_of_modifies==0 && mode==1){ console.log("no modifies"); create_deferred.resolve(); return create_deferred; }*/ //console.log(curriculumData); //console.log(remoteUrl); //return; $.ajax({ url: remoteUrl, crossDomain: true, type: "post", data: curriculumData, dataType: 'json', success: function(result, statusText, resObject){ if(result.data.fields!=undefined){ $.each(result.data.fields,function(id,elem){ var object_key=elem.key; //console.log(object_key); $("body").find("[code="+object_key+"]").removeAttr("modified"); }); } //console.log(curriculumData); //user_code=result.data.user_code; //console.log('User created'); $('.no-internet').remove(); $('.blank1 button').removeAttr("disabled"); create_deferred.resolve(); if(mode==0) location.href="/workers/index.php?status=1"; }, error: function(xhr, ajaxOptions, thrownError) { //console.log('error'); if($('.blank1 .no-internet').length==0) $('.blank1').append("Non c'è connessione! Per non perdere i dati non chiudere il browser e attendi il ripristino della rete. "); $('.blank1 button').attr("disabled","disabled"); var resText=xhr.responseText; resText=$(resText).find(".exception_message").html(); if(resText!="undefined" && xhr.status!=0){ //console.log(resText); //console.log(xhr.status); errorTrack(xhr.status+"@"+resText); } } }); return create_deferred; } function checkTokenLock(user_code){ var create_deferred = $.Deferred(); var remoteUrl=remoteAPIurl+'/api/v1/profile/'+user_code+'/lock/check?api_token='+token; $.ajax({ url: remoteUrl, crossDomain: true, type: "get", //data: curriculumData, dataType: 'json', success: function(result, statusText, resObject){ //console.log("checked lock token"); $('.no-internet').remove(); $('.blank1 button').removeAttr("disabled"); status=result.data.status; if(status==2){ //l'api token è diverso ma appartiene al mio utente alertBlocked("Hai aperto il curriculum da un'altra finestra. A breve verrai rindirizzato alla home.").done(function(){ create_deferred.resolve(1); return; }); }else if(status==4){ //sono un operatore, e chi è in modifica è il candidato associato al cv alertBlocked("Il curriculum attualmente è in modifica da parte del candidato a cui è associato. A breve verrai rindirizzato alla home.").done(function(){ create_deferred.resolve(1); return; }); }else if(status==6){ //sono un operatore, e chi è in modifica è un operatore con un ruolo maggiore al mio alertBlocked("Il curriculum attualmente è in modifica da parte di un operatore tuo superiore. A breve verrai rindirizzato alla home.").done(function(){ //console.log("INSIDE STATUS = 6"); //console.log(create_deferred); create_deferred.resolve(1); return; }); }else{ create_deferred.resolve(0); return; } }, error: function() { console.log('error'); if($('.blank1 .no-internet').length==0) $('.blank1').append("Non c'è connessione! Per non perdere i dati non chiudere il browser e attendi il ripristino della rete. "); $('.blank1 button').attr("disabled","disabled"); } }); return create_deferred; } function getCurriculumValues(user_code){ var create_deferred = $.Deferred(); $.ajax({ url: remoteAPIurl+'/api/v1/profile/'+user_code+'?api_token='+token, crossDomain: true, type: "get", dataType: 'json', success: function(result, statusText, resObject){ create_deferred.resolve(result.data); } }); return create_deferred; } function displayGroups(groups,where){ $.each(groups, function(id2,group){ if(group.master_id==null){ //if(group.model_id=="174") console.log(group.id); var new_group="
"+group.title+"
"; $(where+' > .groups').append(new_group); }else{ //if(group.model_id=="174") console.log(group.id); var new_group="
"+group.title+"
"; //if(group.model_id=="174") console.log(".group[id="+group.master_id+"] > .groups"); $(".group[id="+group.master_id+"] > .groups").append(new_group); } $.each(group.inputs, function(id3,input){ //per saltare il video upload if(input.code=="hl8201uo5hrrlai1sl7wjmch71fkaukrgstguo5z5wrq69szuzwem8vtabek6ycm") return true; if(input.code=="men45avyx2guvwrnja8zhj3bjn2x2asopftupptnr9in69apjip02tblgejipb6e") return true; $(".group[id="+group.id+"] > .group_inputs").append("
"); displayInput(input,".input#"+input.id); //console.log(input.type); }); }); } /*function getCities(province_slug){ if(!province_slug) province_slug="all"; var create_deferred = $.Deferred(); var token=localStorage.getItem('utoken'); $.ajax({ url: remoteAPIurl+'/api/v1/city?api_token='+token+"&slug="+province_slug, crossDomain: true, type: "get", dataType: 'json', success: function(result, statusText, resObject){ create_deferred.resolve(result); }, error: function() { console.log('error'); } }); return create_deferred; }*/ function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min)) + min; } var provinces_list={}; var myProvincesList={}; var my_detailed_provinces_list={}; var first_set_provinces_list=true; var curriculum_data; var grantedCity=false; var role_slug=""; var user_cities={}; var edit_user_cities={}; function displayCurriculum(user_code){ toggleDefaultLoader(); //recupera tutti i modelli getAllModels().done(function(result){ getCurriculumValues(user_code).done(function(data){ curriculum_data=data; var user_cities=data.cities; var models=result; //anagrafica var destination='#registry'; $(destination).append("
"); displayGroups(models[151].groups,destination); //ucode è in headers.js, è lo slug del gestore che sta lavorando sul curriculum //user_code invece è l'utente del curriculum getUser(ucode).done(function(userResult){ getProvinces().done(function(provinceResult){ data=userResult.data; role_slug=data.roles[0]["role_slug"]; //console.log(userResult); //console.log(typeof(data.cities)); edit_user_cities=data.cities; //console.log(myCities); //console.log(typeof(myCities)); var new_group="
Seleziona i comuni in cui lavori
"; $('#registry > .groups').append(new_group); //prelevo il ruolo //CASO 1: sono super admin, super user o worker, vedo tutte le città e le provincie in select if(role_slug=="super-admin" || role_slug=="super-user" || role_slug=="worker"){ //console.log("CASO 1"); $.each(provinceResult.data,function(id,province){ //if(typeof(provinces_list[province.slug])=="undefined") provinces_list[province.slug]=[]; provinces_list[province.slug]={name:province.name,cities:province.cities,tot:province.cities.length,tot_owned:0}; }); //var new_group="
Seleziona i comuni in cui lavori
"; //$('#registry > .groups').append(new_group); edit_user_cities={}; displayProvinces('.group_provinces',provinceResult,0,edit_user_cities); }else{ //CASO 2: tutti gli altri vedono solo le proprie città e provincie in select //console.log("CASO 2"); //console.log("myCities="+myCities); $.each(edit_user_cities,function(id,elem){ if(typeof(myProvincesList[elem.province_slug])=="undefined") myProvincesList[elem.province_slug]=0; myProvincesList[elem.province_slug]++; }); objectLength=Object.keys(myProvincesList).length; //console.log(myProvincesList); $.each(provinceResult.data,function(id,province){ //console.log(province.slug); if(objectLength==0 || typeof(myProvincesList[province.slug])!="undefined"){ my_detailed_provinces_list[province.slug]={slug:province.slug,name:province.name,cities:province.cities,tot:province.cities.length,tot_owned:0}; } provinces_list[province.slug]={name:province.name,cities:province.cities,tot:province.cities.length,tot_owned:0}; }); $.each(edit_user_cities,function(k1,v1){ //provinces_list[v1.province_slug].tot--; my_detailed_provinces_list[v1.province_slug].tot_owned++; //console.log(provinces_list[k1]); }); if(objectLength==0) displayProvinces('.group_provinces',provinceResult,0,edit_user_cities); else displayProvinces('.group_provinces',{data:my_detailed_provinces_list},0,edit_user_cities); } setTabAccordion("#registry"); //dati di fatturazione var destination='#registry-2'; $(destination).append("
"); var counter=0; //var tot_groups=Object.keys(result.data.groups).length; //console.log("---->"+tot_groups); displayGroups(models[176].groups,destination); //lingue $('#languages').append("
"); var counter=0; var tot_groups=Object.keys(models[152].groups).length; //console.log(models[152].groups); $.each(models[152].groups, function(id2,group){ //if(group.inputs.length==0) return true; if(counter==(tot_groups - 1)){ var new_group="
"+group.title+"
"; $('#languages > .groups').append(new_group); $('.group#'+group.id+" > .group_inputs").append("
"); displayInput(group.inputs[2],".input#"+group.inputs[2].id); return false; }else{ if(group.master_id!=null){ //console.log(group.inputs); var new_group="
"+group.title+"
"; $('#languages > .groups').append(new_group); $('.box_language#'+group.id+" > .group_inputs").append("
"); displayInputLanguage(group.inputs[2],".input#"+group.inputs[2].id); } counter++; } }); //recupero lista professioni getProfessions().done(function(result){ $('#profession-list').append("
"); $.each(result.data,function(id,profession){ var new_profession="
"+ ""+ "
"; $('#profession-list > .groups').append(new_profession); }); $('.pro_selection').click(function(id,elem){ profession_list_change=true; number_of_checks=$(".pro_selection:checked").length; if(number_of_checks>max_profession_count){ alert("Non puoi selezionare più di "+max_profession_count+" professioni."); return false; } var check_confirm=true; var profession_id=$(this).attr("id").replace("pro_selection_",""); var profession_name=$(this).attr("name"); if(!$(this).prop("checked")){ var profCheckbox=$(this); profCheckbox.prop("checked",true); confirm("Se deselezionerai questa professione la cancellerai. Vuoi proseguire?").done(function(){ $('.tab_prof_'+profession_id).remove(); $('#pro'+profession_id).remove(); profCheckbox.prop("checked",false); }); }else if($(this).prop("checked") && $('#pro'+profession_id).length==0){ //console.log("init "+profession_id); new_tab='
  • '+profession_name+'
  • '; $('.etabs > .tab_skill').before(new_tab); $('#tab-container').append(''); //var profession_id=$(this).attr("id").replace("pro_selection_",""); var profession_name=$(this).attr("name"); //recupero modello professione $.each(models[153].groups, function(id2,group){ if(group.master_id==null){ var new_group="
    "+group.title+"
    "; $('#pro'+profession_id).append(new_group); }else{ var new_group="
    "+group.title+"
    "; $('#pro'+profession_id+' .group#'+group.master_id+" > .groups").append(new_group); } $.each(group.inputs, function(id3,input){ var cloneInput = jQuery.extend(true, {}, input); if(cloneInput.code.indexOf("P")==-1){ var temp_code=cloneInput.code+"P"+profession_id; cloneInput.code=temp_code; } $('#pro'+profession_id+' .group#'+group.id+" > .group_inputs").append("
    "); displayInput(cloneInput,'#pro'+profession_id+" .input#"+cloneInput.id); }); }); //recupero modello referenze lavorative //conto quante referenze lavorative ha la scheda professionale in questione //$('#pro'+profession_id).find("input, select, textarea").each(function(){ //}); var mainFilter=""; //console.log("-----------------"); var counter_master=0; for(var i=0;i<3;i++){ counter_master=0; $.each(models[154].groups, function(id2,group){ if(group.master_id==null){ counter_master++; if(counter_master==1){ mainFilter="reference_"+getRandomInt(200,2000000000000000); var new_group="
    "; $('#pro'+profession_id).append("
    "+group.title+(i+1)+"
    "); $('#pro'+profession_id+" > ."+mainFilter+" .groups").append(new_group); } }else{ //gruppo non master //gruppo non master e terminale, poichè ha almeno un input if(group.inputs.length>0){ var new_group="
    "+group.title+"
    "; new_group+="
    "; new_group+="
    "; new_group+="
    "; new_group+="
    "; $('#pro'+profession_id+' > .'+mainFilter+' .group#'+group.master_id+" > .groups").append(new_group); }else{ var new_group="
    "+group.title+"
    "; $('#pro'+profession_id+' > .'+mainFilter+' .group#'+group.master_id+" > .groups").append(new_group); } } if(group.inputs.length!=0) $('#pro'+profession_id+' > .'+mainFilter+' .group#'+group.id+" > .group_inputs").append(''+ 'EsperienzaConvalida Esperienza'); $.each(group.inputs, function(id3,input){ clone_input=JSON.parse(JSON.stringify(input)); if(clone_input.code.indexOf("P")==-1) clone_input.code=clone_input.code+"P"+profession_id+"E"+i; $('#pro'+profession_id+' > .'+mainFilter+' .group#'+group.id+" > .group_inputs").append(""); displayInput(clone_input,'#pro'+profession_id+' > .'+mainFilter+' .group#'+group.id+" > .group_inputs > .input#"+clone_input.id,profession_id,true,(i+1),counter_master); //console.log("-----> .input#"+clone_input.code); }); //console.log("counter_master = "+counter_master); }); } prof_filter="#pro"+profession_id; setTabProfAccordion(prof_filter); setCurriculumCheckboxes(user_code,prof_filter); setCurriculumValues(user_code,prof_filter); //console.log("added"); $('#tab-container').easytabs("refresh"); }else if($(this).prop("checked")){ $('.tab_prof_'+profession_id).show(); } }); $('#tab-container').easytabs(); getCurriculumProfessionCheckboxes(user_code); var destination='#skills'; //competences for(i=156;i<173;i++){ displaySkillGroups(models[i].groups,destination); } setTabAccordion("#skills"); //experiences var destination='#experiences'; $(destination).append("
    "); displayGroups(models[173].groups,destination); //console.log("Model 173"); //console.log(models[173]); //console.log("Model 174"); //console.log(models[174]); displayGroups(models[174].groups,destination); displayGroups(models[175].groups,destination); setTabAccordion(destination); setCurriculumValues(user_code); setCurriculumCheckboxes(user_code); toggleDefaultLoader(); }); }); }); }); }); } function setCurriculumValues(user_code,filter){ if(!filter) filter=""; //curriculum_data è globale data=curriculum_data; counter=0; $.each(data.cdata.curriculum, function(field_key,field_value){ $(filter+" input[code='"+field_key+"'],select[code='"+field_key+"']").each(function(id2,elem){ if(field_key=="7w4h33fgh2ldw50f710qaibe0tsp1g48c8qgc5xt7j64p6kw8lnj3yy3rqts6x1i"){ //$('user_type').html(field_value); var t=""; switch (field_value) { case "0": t="basic"; break; case "1": t="verified"; break; case "2": t="certified"; break; default: t="0"; } $('user_identities').show(); //console.log(typeof(field_value)); if(t!="0"){ $('user_type').html("("+t+")"); } } else if(field_key=="e2ef524fbf3d9fe611d5a8e90fefdc9c63923f49e5241343aa7acb6a06a751e7"){ $('user_identities').show(); $('firstname').html(field_value); } else if(field_key=="ac627ab1ccbdb62ec96e702f07f6425b20f07591c6fcb220ffe637cda29bb3f6"){ $('user_identities').show(); $('lastname').html(field_value); } field_type=$(elem).attr("type"); field_v=$(elem).attr("value"); if($(elem).is('select')){ if(field_value!="") $(elem).val(field_value); }else if(field_type=="number"){ $(elem).val(field_value); }else if(field_type=="radio"){ if(field_value==field_v) $(elem).prop("checked",true); }else if(field_type!="checkbox" && field_type!="file"){ if(field_type=="hidden"){ $(elem).parent().find('.file_download').remove(); if(field_value!="") $(elem).after("Scarica"); } isDate=$(elem).attr("isDate"); if(isDate && isDate !== false){ if(field_value!=""){ if(field_value.indexOf("-")!=-1){ //dateParts=field_value.split("-"); //field_value=dateParts[2]+"/"+dateParts[1]+"/"+dateParts[0]; //var ndate=new Date(dateParts[0],parseInt(dateParts[1])-1,dateParts[2]); //console.log("Data originale="+field_value); //console.log("Data convertita="+ndate.toLocaleDateString()); //console.log(""); $(elem).parent().datepicker('update', field_value); //console.log("is date - "+field_value); //console.log(field_value); } } }else{ if($(elem).val()=="") $(elem).val(field_value); } } }); $("textarea[code='"+field_key+"']").each(function(id2,elem){ //console.log("textarea"); $(elem).val(field_value); }); counter++; }); //recupero file $.each(data.files, function(field_key,field_value){ $("input[code='"+field_key+"']").each(function(id2,elem){ field_type=$(elem).attr("type"); field_v=$(elem).attr("value"); if(field_type!="checkbox" && field_type!="file"){ if(field_type=="hidden"){ $(elem).parent().find('.file_download').remove(); if(field_value!="") $(elem).after("Scarica"); } //console.log(field_value); $(elem).val(field_value); } }); $("textarea[code='"+field_key+"']").each(function(id2,elem){ //console.log("textarea"); $(elem).val(field_value); }); counter++; }); //console.log(provinces_list); //conto quante città ha il candidato if(first_set_provinces_list){ $('.cities_list ul').html(""); $.each(data.cities, function(city_key,city_value){ city_province_slug=data.cities_prov[city_key]; provinces_list[city_province_slug].tot_owned++; }); } var grantedCity=false; if(role_slug=="super-admin" || role_slug=="super-user" || role_slug=="worker") grantedCity=true; //ucode è in headers.js, è l'user slug dell'utente operatore if(first_set_provinces_list){ getUser(user_code).done(function(my_user_result){ data=my_user_result.data; myCities=data.cities; //console.log(myCities); $.each(provinces_list, function(key,value){ //ho tutte le città di questa provincia if(value.tot_owned==value.tot){ li_id="all-"+key; //console.log("
  • Tutti i comuni in prov. di "+value.name+"
  • "); $("li#"+li_id).remove(); $('.cities_list ul').append("
  • Tutti i comuni in prov. di "+value.name+"
  • "); //DA GESTIRE IL FATTO CHE NON POSSO CANCELLARE GLI ACCORPAMENTI CHE NON POSSIEDO COME GESTORE if((typeof(myProvincesList[key])!="undefined" && my_detailed_provinces_list[key].tot_owned==my_detailed_provinces_list[key].tot) || grantedCity){ //console.log("inside"); $('li#'+li_id).append(""); } $.each(value.cities,function(key2,value2){ var id2=value2.id; //console.log("content="+id2); $(".cities_list ul li#"+id2).remove(); if(id2!="all" && id2!=null && id2!="") $('#'+li_id).append("") }); } }); //itero sulle mie città per recuperare solo gli id var myCitiesOnlyIds=[]; $.each(myCities,function(idc,city){ myCitiesOnlyIds.push(city.id); }); //CASO 1: ci sono le mie città (sono un gestore) if(!grantedCity){ //console.log("CASO 1"); $.each(data.cities, function(city_key,city_value){ if($('li#city_'+city_key).length==0 && $('.city_list[value='+city_key+']').length==0){ //console.log("before"); //console.log(city_value); //provinces_list //console.log("after"); province_slug=city_value.province_slug; $('.cities_list ul').append("
  • ["+province_slug+"]"+city_value.name+"
  • "); if(myCitiesOnlyIds.indexOf(parseInt(city_value.id))>-1){ $("#city_"+city_value.id).append(""); } } }); }else{ //CASO 2: non ci sono: sono super user, super admin oppure candidato, le vedo e posso modificarle tutte. $.each(data.cities, function(city_key,city_value){ if($(".city_list[value="+city_value.id+"]").length==0 && $("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(""); } }); } }); } first_set_provinces_list=false; } function setCurriculumCheckboxes(user_code, filter){ if(!filter) filter=""; //curriculum_data è globale data=curriculum_data; $.each(data.cdata.curriculum, function(field_key,field_value){ //console.log(filter+" input[code='"+field_key+"']"); $(filter+" input[code='"+field_key+"']").each(function(id2,elem){ field_type=$(elem).attr("type"); field_v=$(elem).attr("value"); if(field_type=="checkbox" && !$(elem).hasClass("pro_selection")){ //console.log(field_type+" "+field_key+"-"+field_value); temp=field_value.split(","); if(temp.indexOf(field_v) > -1) $(elem).prop("checked",true); //$(elem).remove(); } }); //console.log("NOT > "+field_type+" "+field_key+"-"+field_value); }); } function getCurriculumProfessionCheckboxes(user_code){ //curriculum_data è globale data=curriculum_data; $.each(data.cdata.professions, function(id,profession){ //console.log("++++++++++"); //console.log(profession); $('#pro_selection_'+profession).trigger("click"); }); } function setTabAccordion(main_filter){ $(function() { $(main_filter+' > .groups > .group:not(:first)').hide(); $(main_filter+' > .groups > .group_title:first').addClass("active"); $(main_filter+' > .groups > .group_title').click(function() { var elem=this; if(!$(elem).hasClass("active")){ $(main_filter+" > .groups > .group_title").removeClass("active"); $(elem).addClass("active"); $(main_filter+' > .groups > .group').slideUp('slow'); $(elem).next('.group').slideDown('slow',function(){ $('html, body').animate({ scrollTop: $(elem).offset().top - 50 }, 1000); }); }else{ $(elem).removeClass("active"); $(elem).next('.group').slideUp('slow',function(){ $('html, body').animate({ scrollTop: $(elem).offset().top + 50 }, 1000); }); } }); }); } function setTabProfAccordion(main_filter){ $(function() { $(main_filter+' > .group:not(:first)').hide(); $(main_filter+' > .group_title:first').addClass("active"); $(main_filter+' > .group_title').click(function() { var elem=this; if(!$(elem).hasClass("active")){ $(main_filter+" > .group_title").removeClass("active"); $(elem).addClass("active"); $(main_filter+' > .group').slideUp('slow'); $(elem).next('.group').slideDown('slow',function(){ $('html, body').animate({ scrollTop: $(elem).offset().top - 50 }, 1000); }); }else{ $(elem).removeClass("active"); $(elem).next('.group').slideUp('slow',function(){ $('html, body').animate({ scrollTop: $(elem).offset().top + 50 }, 1000); }); } }); }); } function displaySkillGroups(groups,where){ $.each(groups, function(id2,group){ if(group.master_id==null){ var new_group="
    "+group.title+"
    "; $(where+' > .groups').append(new_group); }else{ var new_group="
    "+group.title+"
    "; $('.group#'+group.master_id+" > .groups").append(new_group); } $.each(group.inputs, function(id3,input){ $('.group#'+group.id+" > .group_inputs").append("
    "); displayInput(input,".input#"+input.id); //console.log(input.type); }); }); } var counter_incremental_id=1; function displayInput(input,where,profId,isReference,referenceNumber,isReferenceMaster){ counter_incremental_id++; if(!referenceNumber) referenceNumber=false; if(!isReference) isReference=false; if(!isReferenceMaster) isReferenceMaster=-1; if(!profId) profId=false; //console.log(isReferenceMaster); var where=$(where); input_type=input.type; input_id=input.id; input_code=input.code; input_required=input.required; if(input_required==1) input_required="*"; else input_required=""; //console.log(input_required); var required=false; if(input.required=="0") required=""; else if(input.required=="1") required="required"; var input_values=[]; if(input.values!="" && typeof(input.values)!="undefined") input_values=input.values.split("#@#"); //console.log(input_code); //console.log(input_values); var input_labels=[""]; if(input.labels!="" && typeof(input.labels)!="undefined") input_labels=input.labels.split("#@#"); var input_texts=[]; if(input.texts!="" && typeof(input.texts)!="undefined") input_texts=input.texts.split("#@#"); var input_placeholder=input.placeholder; var help_text=" "; if(input_type==2 || input_type==4 || input_type==8 || input_type==11 || input_type==13 || input_type==15){ if(input_type==2) sub_type="date"; else if(input_type==4) sub_type="email"; else if(input_type==8) sub_type="number"; else if(input_type==11) sub_type="tel"; else if(input_type==13) sub_type="text"; else if(input_type==15) sub_type="text"; var input_filter="input[code="+input_code+"]"; //non è una data if(input_type!=2){ if(input_type==8) input_node=""; else input_node="
    "; }else{ //è una data input_node=""+ ""; } if(!isReference || (isReference && isReferenceMaster==1)){ where.append(""+input_labels[0]+" "+input_required+""+ ""+input_node+""+ ""); if((isReference && isReferenceMaster==1)){ //sto nelle reference e sono MASTER if(input_type!=2){ $("input[code="+input_code+"]").change({input_type: input_type},function(event){ var input_type=event.data.input_type elem=$(this).parent().parent().find("td.jlkdfj1 input"); //console.log(elem.val()); //console.log(input_type); if(elem.val()=="" || (input_type==8 && elem.val()=="0")){ //console.log("inside"); elem.val($(this).val()); elem.attr("modified","1"); //elem.remove(); //console.log(elem.attr("modified")); } }); }else{ $("input[code="+input_code+"]").change(function(){ //console.log("change"); elem=$(this).parent().parent().find("td.jlkdfj1 input"); if(elem.val()==""){ elem.val($(this).val()); elem.attr("modified","1"); $(elem).parent().datepicker('update', $(this).val()); } }); } } }else if(isReference && isReferenceMaster==2){ $('#pro'+profId+' div[referenceNumber='+referenceNumber+']').find("td[textCompare='"+input_labels[0]+"']").parent().find("td.jlkdfj1").append(input_node); } if(input_type==2){ $(input_filter).parent().datepicker({ format: "yyyy-mm-dd", todayBtn: "linked", clearBtn: true, language: "it", orientation: "top right" }).on("clearDate",[input_filter], function(e) { $(e.data[0]).attr("modified","1"); }); } }else if((input_type==5) || (input_type==21)){ var input_text=""; var input_node=""; if(!isReference || (isReference && isReferenceMaster==1)) input_text+=""+input_labels[0]+" "+input_required+""; if(!isReference || (isReference && isReferenceMaster==1)) input_text+=""; if(input_type==21){ input_node+=""; } else{ input_node+=""; } input_node+=""; if(!isReference || (isReference && isReferenceMaster==1)){ input_text+=input_node; input_text+=""; where.append(input_text); }else if(isReference && isReferenceMaster==2){ $('#pro'+profId+' div[referenceNumber='+referenceNumber+']').find("td[textCompare='"+input_labels[0]+"']").parent().find("td.jlkdfj1").append(input_node); } //se ho caricato un file sul file input $('input[code="'+input_code+'"]').change(function(){ input_code=$(this).attr("code"); //console.log(input_code); if($(this).attr("video")!="video") { loadImageFileAsURL(input_code); } }); }else if(input_type==0 || input_type==9 || input_type==20){ if(input_type==0 || input_type==20) sub_type="checkbox"; else sub_type="radio"; var input_text=""; if(!isReference || (isReference && isReferenceMaster==1)){ input_text+=""+input_labels[0]+" "+input_required+""; input_text+=""; } var counter=0; input_id=counter_incremental_id+""+input_id; var input_name="inputs["+input_id+"]"; //console.log("------ "+input_code+" -------"); var c=0; $.each(input_values,function(id,elem){ if(input_type==0 || input_type==20) input_name="inputs["+input_id+"]["+counter+"]"; var check=""; if(input_type==9) { if(c==0){ check="checked=true"; } c++; } //console.log(input_values[counter]); input_text+="
    "; counter++; }); if(!isReference || (isReference && isReferenceMaster==1)){ input_text+=""; where.append(input_text); /*if((isReference && isReferenceMaster==1)){ //sto nelle reference e sono MASTER $("input[code="+input_code+"]").change(function(){ input_val=$(this).val(); //console.log("change"); elem=$(this).parent().parent().find("td.jlkdfj1 input[value="+input_val+"]"); //console.log(input_val); //console.log(elem); //if(elem.val()==null || elem.val()==undefined) elem.prop("checked",true); }); }*/ }else if(isReference && isReferenceMaster==2){ $('#pro'+profId+' div[referenceNumber='+referenceNumber+']').find("td[textCompare='"+input_labels[0]+"']").parent().find("td.jlkdfj1").append(input_text); } //console.log(where); //if(input_type!=0 && input_type!=20) where.find("td").find("input:first").prop("checked",true); //where.find("td").find(" input:first").remove(); }else if(input_type==18){ input_node=""; if(!isReference || (isReference && isReferenceMaster==1)){ where.append(""+input_labels[0]+" "+input_required+""+ ""+input_node+""+ ""); }else if(isReference && isReferenceMaster==2){ $('#pro'+profId+' div[referenceNumber='+referenceNumber+']').find("td[textCompare='"+input_labels[0]+"']").parent().find("td.jlkdfj1").append(input_node); } $("textarea[code="+input_code+"]").on("input",function(){ $(this).attr("modified","1"); }); }else if(input_type==19){ //console.log("SELECT isReferenceMaster="+isReferenceMaster); var input_text=""; input_node="
    "; if(!isReference || (isReference && isReferenceMaster==1)){ input_text+=""+input_labels[0]+" "+input_required+""; input_text+=""; input_text+=input_node; input_text+=""; where.append(input_text); if((isReference && isReferenceMaster==1)){ //sto nelle reference e sono MASTER $("select[code="+input_code+"]").change(function(){ //console.log("change"); elem=$(this).parent().parent().find("td.jlkdfj1 select"); //console.log(elem.val()); if(elem.val()==null) elem.val($(this).val()); }); } }else if(isReference && isReferenceMaster==2){ //console.log("profId="+profId+",referenceNumber"+referenceNumber); $('#pro'+profId+' div[referenceNumber='+referenceNumber+']').find("td[textCompare='"+input_labels[0]+"']").parent().find("td.jlkdfj1").append(input_node); } $("select[code="+input_code+"]").change(function(){ $(this).attr("modified","1"); }); //console.log("new input"); //console.log("isReference="+isReference); //console.log("isReferenceMaster="+isReferenceMaster); } var twin_code=""; //controlli per gestione dei campi nome, cognome e cf if(input_code=="e2ef524fbf3d9fe611d5a8e90fefdc9c63923f49e5241343aa7acb6a06a751e7"){ twin_code="6i72scftre2h7nsrqhkybjiyr9fyxvn3eu666lzx01f7p7ygpje03wzu5fs2af6p"; }else if(input_code=="ac627ab1ccbdb62ec96e702f07f6425b20f07591c6fcb220ffe637cda29bb3f6"){ twin_code="mdyba0zc0ugmdnm1zz6lgpw0snf6ypyk3wwewwrxr7j4u66u6cfm2cmvz11xr0iv"; }else if(input_code=="f899139df5e1059396431415e770c6dd07cdfd23373b17c6b337251c22b7ea57"){ twin_code="kzc8oryz3orw6x7gzj4baz4xra04s8nd8zlwqjwt7nqekxukhzwsy0pqapv3yig6"; } $('input[code='+input_code+']').change({twin_code: twin_code},function(event){ field_twin=$('input[code='+event.data.twin_code+']'); if(field_twin.val()=="") field_twin.val($(this).val()); }); $('input[code='+input_code+'], select[code='+input_code+'],textarea[code='+input_code+']').change({input_type:input_type},function(event){ var input_type_attr=$(this).attr("type"); var input_type_code=$(this).attr("code"); //questo code ha anche P14-P16, che il code di partenza potrebbe non avere //console.log(input_type_code+" outside"); if(input_type==0 || input_type==9 || input_type==20){ //console.log(input_type_code+" inside"); $('input[code='+input_type_code+']').attr("modified","1"); }else{ $(this).attr("modified","1"); } //console.log("--->"+input_type); if(input_type_attr=="file") $('input[code='+input_code+'H1]').attr("modified","1"); //se esiste becco anche quello hidden }); } function displayInputLanguage(input,where){ var where=$(where); input_type=input.type; input_id=input.id; input_code=input.code; var input_values=[]; if(input.values!="" && typeof(input.values)!="undefined") input_values=input.values.split("#@#"); var input_labels=[""]; if(input.labels!="" && typeof(input.labels)!="undefined") input_labels=input.labels.split("#@#"); var input_texts=[]; if(input.texts!="" && typeof(input.texts)!="undefined") input_texts=input.texts.split("#@#"); var input_placeholder=input.placeholder; if(input_type==13){ sub_type="text"; where.append("
    "); }else if(input_type==19){ var input_text=""; input_text+="
    "; input_text+="
    "; where.append(input_text); } $('select[code='+input_code+']').change(function(event){ //console.log("language modified"); $(this).attr("modified","1"); }); }