var badges=[]; var matches={}; var global_models={}; var main_limit=2; function getMatches(adv_code,cv_type,offset,limit){ if(cv_type==null) cv_type=""; else cv_type="&cv_type="+cv_type; if(!offset) offset=0; if(!limit) limit=0; var create_deferred = $.Deferred(); $.ajax({ url: remoteAPIurl+'/api/v1/ad/'+adv_code+'/match?offset='+offset+'&limit='+limit+'&api_token='+token+cv_type, crossDomain: true, type: "get", dataType: 'json', success: function(result, statusText, resObject){ create_deferred.resolve(result); }, error: function() { console.log('error'); } }); 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 getAdvModel(){ var create_deferred = $.Deferred(); $.ajax({ url: remoteAPIurl+'/api/v1/ad/model?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 translateStatus(status){ if(status==0) return "In bozza"; else if(status==1) return "Inviato"; else if(status==2) return "Validato"; } function translateType(type){ if(type==0) return "Smart"; else if(type==1) return "Exclusive"; else if(type==2) return "Last Minute"; } function displayMatches(adv){ var user_code=0; adv=adv.advertising[0]; var profession=adv.profession; profession_id=profession.id; var adv_code=adv.slug; getShortlist(adv_code).done(function(result){ var elem=$('hirebox').find(".adv_button").first(); elem.text("Vedi shortlist ("+result.data.length+")"); elem.attr("totElements",result.data.length); elem.click(function(){ if(parseInt($(this).attr('totElements'))>0) location.href="/advertisings/shortlist.php?acd="+adv_code; else alert("Devi aggiungere almeno un candidato alla shortlist."); }); }); //console.log("before"); displayMatchSubRoutine(adv_code,profession_id,2,0,main_limit); //console.log("after"); } function getAutoJoinedList(adv_code,offset,limit){ var create_deferred = $.Deferred(); if(!offset) offset=0; if(!limit) limit=0; $.ajax({ url: remoteAPIurl+'/api/v1/ad/'+adv_code+'/profiles/auto?offset='+offset+'&limit='+limit+'&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 displayAutoJoined(ad_code,offset,limit,display_button_bar){ if($('.adv_button_filter_3').hasClass("disabled")) return false; $('matchlist').html(""); $('.adv_button_clicked').removeClass("adv_button_clicked"); $('.adv_button_filter_3').addClass("adv_button_clicked"); if(!offset) offset=0; if(!limit) limit=0; if(!display_button_bar) display_button_bar=1; getAutoJoinedList(ad_code,offset,limit).done(function(result){ var tot_matches=result.data.length; var tot=1; $.each(result.data,function(key,cv){ user_code=cv.user.slug; matches[user_code]=tot; tot++; }); $.each(result.data,function(key,cv){ user_code=cv.user.slug; var in_shortlist=cv.in_shortlist; var auto_join=cv.auto_join; getCurriculumValues(user_code).done(function(cv_result){ displayCurriculum(cv_result,profession_id,in_shortlist,auto_join); }); }); var functionName="displayAutoJoined"; var functionParams=[ad_code]; //console.log("----->"+result.tot_unpaging_record); //scrollToElement('.panel.panel-result',$('.header-section').height(),400); //toggleDefaultLoader(); if(tot==1){ $('.paging_bar').html(""); $('matchlist').html("
Nessun auto candidato trovato
"); }else{ if(display_button_bar==1) displayPagingBar(result.tot_unpaging_record,functionName,functionParams); } //$(".single-result-adv-"+adv_code+"-workers").show(); }); } function displayMatchSubRoutine(adv_code,profession_id,type,offset,limit,display_button_bar){ if($('.adv_button_filter_'+type).hasClass("disabled")) return false; $('matchlist').html(""); $('.adv_button_clicked').removeClass("adv_button_clicked"); $('.adv_button_filter_'+type).addClass("adv_button_clicked"); //console.log(offset); //console.log(limit); if(!offset) offset=0; if(!limit) limit=0; if(!display_button_bar) display_button_bar=1; if(type==2) type_string="certificato"; else if(type==1) type_string="verificato"; else if(type==0) type_string="basic"; getMatches(adv_code,type,offset,limit).done(function(result){ var tot_matches=result.data.length; var tot=1; $.each(result.data,function(key,cv){ user_code=cv.user_code; matches[user_code]=tot; tot++; }); $.each(result.data,function(key,cv){ user_code=cv.user_code; var in_shortlist=cv.in_shortlist; var auto_join=cv.auto_join; var matching_percent=cv.matching_percent; (function(user_code, in_shortlist, auto_join, matching_percent){ $('hirebox .adv_button').addClass("disabled"); getCurriculumValues(user_code).done(function(cv_result){ displayCurriculum(cv_result,profession_id,in_shortlist,auto_join,matching_percent); $('hirebox .adv_button').removeClass("disabled"); }); })(user_code, in_shortlist, auto_join, matching_percent); }); var functionName="displayMatchSubRoutine"; var functionParams=[adv_code,profession_id,type]; //console.log("----->"+result.tot_unpaging_record); //scrollToElement('.panel.panel-result',$('.header-section').height(),400); //toggleDefaultLoader(); if(tot==1){ $('.paging_bar').html(""); $('matchlist').html("
Nessun candidato di tipo '"+type_string+"' trovato
"); }else{ /*console.log("before"); console.log(functionParams); console.log("after");*/ if(display_button_bar==1) displayPagingBar(result.tot_unpaging_record,functionName,functionParams); } }); } function getShortlist(adv_code){ var create_deferred = $.Deferred(); $.ajax({ url: remoteAPIurl+'/api/v1/ad/'+adv_code+'/profiles?api_token='+token, crossDomain: true, type: "get", dataType: 'json', success: function(result, statusText, resObject){ //console.log(result); create_deferred.resolve(result); }, error: function() { console.log('error'); } }); return create_deferred; } function addToShortlist(adv_code,user_code){ var adData={ "aid": adv_code }; $.ajax({ url: remoteAPIurl+'/api/v1/profile/'+user_code+'/join?api_token='+token, crossDomain: true, type: "post", data: adData, dataType: 'json', success: function(result, statusText, resObject){ $('.single-result-'+user_code).toggleClass("user-in-shortlist"); cv_title="Aggiunto alla shortlist"; var add_shortlist="

"+cv_title+"
"; //$('.single-result-'+user_code).find('.add_cv_button').after(add_shortlist); var button=$('.single-result-'+user_code).find('.options_cv_button'); button.attr("onclick",button.attr("onclick").replace("0)","1)")); getShortlist(adv_code).done(function(result){ var elem = $('hirebox').find(".adv_button").first(); elem.text("Vedi shortlist ("+result.data.length+")"); elem.attr("totElements",result.data.length); }); }, error: function() { console.log('error'); } }); } function displayCurriculum(cv_result,profession_id,in_shortlist,auto_join,matching_percent){ elem=cv_result.cdata; var account_type=elem.curriculum['7w4h33fgh2ldw50f710qaibe0tsp1g48c8qgc5xt7j64p6kw8lnj3yy3rqts6x1i']; if(account_type=="0") account_type="basic"; else if(account_type=="1") account_type="verified"; else if(account_type=="2") account_type="certified"; var name=elem.curriculum['e2ef524fbf3d9fe611d5a8e90fefdc9c63923f49e5241343aa7acb6a06a751e7']; var surname=elem.curriculum['ac627ab1ccbdb62ec96e702f07f6425b20f07591c6fcb220ffe637cda29bb3f6']; var description=elem.curriculum['i2x9xhqvuotzb7cg193kzwc8hk1r9udrwa1tsrpmgjlsqy9r8dc79pfq9hhicva8']; if(description=="" || description==undefined) description="Descrizione assente"; var avatar="../images/noUser.png"; //console.log(cv_result.files); var avatar_code="men45avyx2guvwrnja8zhj3bjn2x2asopftupptnr9in69apjip02tblgejipb6e"; if( typeof(cv_result.files) !== "undefined"){ if(cv_result.files.hasOwnProperty(avatar_code)){ avatar=cv_result.files[avatar_code]; } } var code = elem.user_code; var user_in_shortlist=""; var cv_title="Candidato"; //console.log("in_shortlist="+in_shortlist); var add_shortlist=""; if(in_shortlist==1){ user_in_shortlist="user-in-shortlist"; cv_title="Presente nella shortlist"; add_shortlist="

"+cv_title+"
"; } var auto_join_text=""; if(auto_join==1){ auto_join_text="
Auto candidato
"; } //console.log("
"+name+" - "+code+"
"); var result_block="
"; result_block+="
"; result_block+="
"; result_block+="
"; result_block+="
"; result_block+="
"; result_block+="
"; result_block+=name+" "+surname; result_block+="
"; result_block+="
"; result_block+=""+account_type+""; result_block+="
"; result_block+="
"; result_block+="
"; result_block+="
Anteprima cv"+ "
"; result_block+='
Opzioni
'; result_block+="
"; result_block+="
"; if(matching_percent!=undefined) result_block+="
Accuratezza "+matching_percent+" %
"; result_block+="
"; result_block+="
"; result_block+="
"+description+"
"; result_block+="
"+add_shortlist+"
"; result_block+=auto_join_text; result_block+="
"; result_block+="
"; result_block+="
"; result_block+="
"; result_block+="
"; result_block+="
Referenze lavorative
"; result_block+="
"; result_block+="
"; result_block+="
"; $("matchlist").append(result_block); displayBadges(elem); displayCCNL(elem,profession_id,code); displayWorkStatus(elem,profession_id,code); //referenze displayReferences(elem,profession_id,code); //console.log(matches[code]); var order=parseInt(matches[code]); $(".single-result-"+code).css("order",order); $(".single-result-"+code).css("-webkit-order",order); } function displayCCNL(data, profession_id, user_code){ var div_master=$(".single-result-"+user_code+" .result-ccnl-lvl"); /* console.log(profession_id); console.log(user_code); console.log(data); console.log(data.curriculum["37a749d808e46495a8da1e5352d03caefe73f687e5bc5280214e0486b273a5f9P47P"+profession_id]); console.log("");*/ var ccnl=parseInt(data.curriculum["37a749d808e46495a8da1e5352d03caefe73f687e5bc5280214e0486b273a5f9P"+ profession_id]); var ccnl_string=""; if(ccnl==0){ ccnl_string="A"; }else if(ccnl==1){ ccnl_string="Asuper"; }else if(ccnl==2){ ccnl_string="B"; }else if(ccnl==3){ ccnl_string="Bsuper"; }else if(ccnl==4){ ccnl_string="C"; }else if(ccnl==5){ ccnl_string="Csuper"; }else if(ccnl==6){ ccnl_string="D"; }else if(ccnl==7){ ccnl_string="Dsuper"; }else{ ccnl_string="Da impostare"; } div_master.html("Livello CCNL: "+ccnl_string); } function displayWorkStatus(data, profession_id, user_code){ var div_master=$(".single-result-"+user_code+" .result-work-state"); /* console.log(profession_id); console.log(user_code); console.log(data); console.log(data.curriculum["37a749d808e46495a8da1e5352d03caefe73f687e5bc5280214e0486b273a5f9P47P"+profession_id]); console.log("");*/ var work_state=parseInt(data.curriculum["2dx351dw1gl6clo8z186v936d5hlyw90974f8hbayxgai5ji6sp21t8fyp0xmaxw"]); var work_state_string=""; if(work_state==0){ work_state_string="Disoccupato"; }else if(work_state==1){ work_state_string="Semi-occupato"; }else if(work_state==2){ work_state_string="Occupato"; }else{ work_state_string="Da impostare"; } div_master.html("Stato occupazionale: "+work_state_string); } function displayMenuDialog(code,ad_code,in_shortlist){ var content=""; alert("
Scegli un opzione tra quelle disponibili:

"+content); } function selectCv(elem){ $(elem).toggleClass("cv-selected"); tot_selected=$('.cv-selected').length; var current_text=$('.expand-title').text(); if(tot_selected==1) $('.results-end-word').html("candidato"); else $('.results-end-word').html("candidati"); $('.results-count').html(tot_selected); } function displayReferences(data, profession_id, user_code){ var div_master=$(".single-result-"+user_code+" .result-references"); var model=global_models[154]; var mainFilter=""; //var counter_master=0; for(var i=0;i<3;i++){ //per iterare sulla i-esima esperienza(composta da base + conferma) div_master.append("
"); var tot_inputs=0; $.each(model.groups, function(id2,group){ //per iterare sulla base e conferma //console.log(mainFilter); if(group.master_id==null) div_master.find(".reference_"+i).append("
"+group.title+" "+(i+1)+"
"); $.each(group.inputs, function(id3,input){ //console.log(input.code); 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; input_type=input.type; if(input.code=="t81p00pqr0gm4f5klnnpw9py2dramhdfpf5qguh7vxuzc0kyn7ojgeijs9ueq7ug" || input.code=="bd4c9ab730f5513206b999ec0d90d1fb04025959b191f8f9de3f924f0940515f"){ //primo campo di conferma referenza div_master.find(".reference_"+i).append("
-----------------------------------------------------------------------
"); } var curriculum_value=""; if(typeof(data.curriculum[input.code+"P"+profession_id+"E"+i])!="undefined" && data.curriculum[input.code+"P"+profession_id+"E"+i]!=""){ curriculum_value=data.curriculum[input.code+"P"+profession_id+"E"+i]; //console.log("curriculum_value="); //console.log(curriculum_value); if(input_type==19) curriculum_value=input_texts[curriculum_value]; tot_inputs++; }else{ curriculum_value=""; } var input_text=""; if(input_type==2 || input_type==4 || input_type==11 || input_type==13){ input_text=""+input_labels[0]+""+ "
"+curriculum_value+"
"; }else if(input_type==19){ input_text=""+input_labels[0]+""+ "
"+curriculum_value+"
"; } div_master.find(".reference_"+i).append("
"+input_text+"
"); }); }); if(tot_inputs==0) div_master.find('.reference_'+i).hide(); } } function displayBadges(data){ var user_code = data.user_code; var curriculum_badges={}; var curriculum_badges_details={}; var main_filter='.single-result-'+user_code+' .result-badges'; var tot_badges=0; //console.log("badges"); //console.log(badges); for(i=156;i<173;i++){ badge=badges[i]; badge_name=badge.name; badge_image=badge.image; badge_tot_basic=badge.tot_basic; badge_fields=badge.fields; $.each(badge_fields,function(id,field){ if(typeof(curriculum_badges[i])=="undefined") curriculum_badges[i]=0; if(typeof(data.curriculum[field.code])!=="undefined" && data.curriculum[field.code]=="1"){ if(typeof(curriculum_badges_details[i])=="undefined") curriculum_badges_details[i]={}; if(typeof(curriculum_badges_details[i].badgeImage)=="undefined") curriculum_badges_details[i].badgeImage=badge_image; if(typeof(curriculum_badges_details[i].fields)=="undefined") curriculum_badges_details[i].fields=[]; //console.log(field.code+"--->"+field.badgeType); if(field.badgeType=="0") curriculum_badges[i]++; else if(field.badgeType=="1") curriculum_badges_details[i].fields.push({code:field.code,badgeType:field.badgeType,name:field.name}); } }); //console.log("model i="+i+"--->"); //console.log(curriculum_badges); //console.log(curriculum_badges[i]+"?=?"+badge_fields.length); //controllo se il numero di skill flaggate a true di tipo basic è uguale al massimo, solo in questo caso accendo il badge if(curriculum_badges[i]==badge_tot_basic){ displayBadge(user_code,badge); tot_badges++; } } if(tot_badges>0) $(main_filter).before("
Lista badge
"); else $('.single-result-'+user_code).find(".toggle_profile").hide(); //console.log(curriculum_badges_details); //$(main_filter).append('Mostra di più
'); $('.single-result-'+user_code).find(".toggle_profile").click(function(){ $(this).toggleClass("toggled"); var find_top=$(this).find(".glyphicon-triangle-top").length; if(find_top==0){ $(this).find(".glyphicon").addClass("glyphicon-triangle-top"); $(this).find(".glyphicon").removeClass("glyphicon-triangle-bottom"); }else{ $(this).find(".glyphicon").removeClass("glyphicon-triangle-top"); $(this).find(".glyphicon").addClass("glyphicon-triangle-bottom"); } //console.log(".toggle_profile"); if($(main_filter).parent().find('.result-block-title-hidden').is(":visible")){ $(main_filter).parent().find('.result-block-title-hidden').hide(); }else{ $(main_filter).parent().find('.result-block-title-hidden').fadeIn(); $(main_filter).parent().find('.result-block-title-hidden').css("display","flex"); } if($(main_filter).parent().find('.result-badges-details').is(":visible")){ $(main_filter).parent().find('.result-badges-details').hide(); }else{ $(main_filter).parent().find('.result-badges-details').fadeIn(); $(main_filter).parent().find('.result-block-title-hidden').css("display","flex"); } if($(main_filter).parent().find('.result-references').is(":visible")){ $(main_filter).parent().find('.result-references').hide(); }else{ $(main_filter).parent().find('.result-references').fadeIn(); $(main_filter).parent().find('.result-block-title-hidden').css("display","flex"); } }); displayBadgePlus(user_code,curriculum_badges_details); } function displayBadgePlus(user_code,plus){ var tot_badge_plus=0; $.each(plus,function(id,badge){ if(badge.fields.length==0) return true; tot_badge_plus++; $('.single-result-'+user_code+' .result-badges-details').append('
'); badge_image=badge.badgeImage; if(typeof(badge_image)=="undefined" || badge_image=="") badge_image="badge/badge_icon.png"; $('.single-result-'+user_code+' .single-badge-details-'+id).append(""); $.each(badge.fields,function(id2,skill_plus){ $('.single-result-'+user_code+' .single-badge-details-'+id).append("
"+skill_plus.name+"
"); }); }); if(tot_badge_plus>0) $('.single-result-'+user_code+' .result-badges-details').before("
Lista skill plus
"); else $('.single-result-'+user_code+' .result-badges-details').hide(); } function displayBadge(user_code,badge){ badge_name=badge.name; badge_image=badge.image; if(typeof(badge_image)=="undefined" || badge_image=="") badge_image="badge/badge_icon.png"; $('.single-result-'+user_code+' .result-badges').append("
"+badge_name+"
"); } 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[parseInt(elem.id)]=elem; }); //console.log(models); create_deferred.resolve(models); }, error: function() { console.log('error'); } }); return create_deferred; } $(function(){ getAdvModel().done(function(model_result){ getAllModels().done(function(models){ global_models=models; for(var key in models) { model=models[key]; //console.log(model); var tot_basic=0; badges[key]={}; $.each(model.groups, function(id2,group) { if(group.master_id==null) $('.sub_block_title_'+key).html(group.title+" "); $.each(group.inputs, function(id3,input){ if(input.type!="9") return true; displayInput(".fields > .competences > .sub_block_content_"+key, input,".fields > .competences > .sub_block_content_"+key+" > .input#"+input.id); if(typeof(badges[key])=="undefined") badges[key]={}; badges[key].name=""+model.name; temp_groups=model.groups; badges[key].image=""+temp_groups[Object.keys(temp_groups)[0]].image; if(input.badgeType=="0") tot_basic++; if(typeof(badges[key].fields)=="undefined") badges[key].fields=[]; badges[key].fields.push({code:input.code,badgeType:input.badgeType,name:input.labels}); }); }); badges[key].tot_basic=tot_basic; } var adv_model={}; var adv_data={}; var code=model_result.code; if(code=="200"){ adv_model=model_result.data; getAdv(ad_code).done(function(result){ adv_data=result.data; displayADV(adv_model, adv_data); $('advheader').click(function(){ $(this).parent().toggleClass("container-main"); $(this).fadeOut(); }); displayMatches(adv_data); }); } }); }); //getAllModels().done(function(models){ //global_models=models; /*for(var key in models) { model=models[key]; //console.log(model); var tot_basic=0; badges[key]={}; $.each(model.groups, function(id2,group) { if(group.master_id==null) $('.sub_block_title_'+key).html(group.title+" "); $.each(group.inputs, function(id3,input){ if(input.type!="9") return true; displayInput(".fields > .competences > .sub_block_content_"+key, input,".fields > .competences > .sub_block_content_"+key+" > .input#"+input.id); if(typeof(badges[key])=="undefined") badges[key]={}; badges[key].name=""+model.name; temp_groups=model.groups; badges[key].image=""+temp_groups[Object.keys(temp_groups)[0]].image; if(input.badgeType=="0") tot_basic++; if(typeof(badges[key].fields)=="undefined") badges[key].fields=[]; badges[key].fields.push({code:input.code,badgeType:input.badgeType,name:input.labels}); }); }); badges[key].tot_basic=tot_basic; }*/ // //}); }); function displayInput(parent,input,where){ var input_type=input.type; var input_id=input.id; var input_code=input.code; if(input_type==2 || input_type==4 || input_type==11 || input_type==13 || input_type==0 || input_type==9 || input_type==20 || input_type==19){ $(parent).append("
"); var where=$(where); }else{ return; } 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; if(input_type==2 || input_type==4 || input_type==11 || input_type==13){ if(input_type==2) sub_type="date"; else if(input_type==4) sub_type="email"; else if(input_type==11) sub_type="tel"; else if(input_type==13) sub_type="text"; where.append(""+input_labels[0]+""+ "
"+ "

"); }else if(input_type==0 || input_type==9 || input_type==20){ if(input_type==0 || input_type==20) sub_type="radio"; //prima era checkbox else sub_type="radio"; var input_text=""; input_text+=""+input_labels[0]+""; input_text+="
"; var counter=0; var input_name="inputs["+input_id+"]"; //console.log("------ "+input_code+" -------"); $.each(input_values,function(id,elem){ //if(input_type==0 || input_type==20) input_name="inputs["+input_id+"]["+counter+"]"; //console.log(input_values[counter]); input_text+="
"; counter++; }); input_text+="
"; where.append(input_text); }else if(input_type==19){ var input_text=""; input_text+=""+input_labels[0]+""; input_text+="
"; input_text+="

"; where.append(input_text); } }