X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=htdocs%2Fjavascript%2Fprofile.js;h=b70fb067ee9b8826c4450c7df91694572ca928fe;hb=d22eb093a253efe221eb5210b8af5a8c21b7bf8b;hp=690c1bac4eeed9a12a96392458e71a858d095c59;hpb=950a769bb3f3154de64960ffc5cac111263bc8b0;p=platal.git diff --git a/htdocs/javascript/profile.js b/htdocs/javascript/profile.js index 690c1ba..b70fb06 100644 --- a/htdocs/javascript/profile.js +++ b/htdocs/javascript/profile.js @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2003-2009 Polytechnique.org * + * Copyright (C) 2003-2011 Polytechnique.org * * http://opensource.polytechnique.org/ * * * * This program is free software; you can redistribute it and/or modify * @@ -45,9 +45,8 @@ function wizPage_onLoad(id) } break; case 'emploi': - for (var i = 0 ; $('#job_' + i).length != 0; ++i) { - updateJobSector(i, $('#job_' + i).find("[name*='[ss_secteur]']").val()); - updateJobSubSector(i, $('#job_' + i).find("[name*='[sss_secteur]']").val()); + if ($('#jobs_0').find("[name='jobs[0][name]']").val() == '') { + registerEnterpriseAutocomplete(0); } break; } @@ -59,6 +58,12 @@ var educationDegreeName; var subgrades; var names; +// Publicity follows the following ordering: private < ax < public. +var publicity = []; +publicity['private'] = 0; +publicity['ax'] = 1; +publicity['public'] = 2; + // Names {{{1 function toggleNamesAdvanced() @@ -66,22 +71,24 @@ function toggleNamesAdvanced() $('.names_advanced').toggle(); } -function addSearchName() +function addSearchName(isFemale) { var i = 0; while ($('#search_name_' + i).length != 0) { i++; } - Ajax.update_html('search_name_' + i, 'profile/ajax/searchname/' + i, function(data){ - $('#searchname').before(data); - changeNameFlag(i); - }); + $('#search_name_' + i) + .updateHtml('profile/ajax/searchname/' + i + '/' + isFemale, + function(data) { + $('#searchname').before(data); + changeNameFlag(i); + }); } -function removeSearchName(i) +function removeSearchName(i, isFemale) { $('#search_name_' + i).remove(); - updateNameDisplay(); + updateNameDisplay(isFemale); } function changeNameFlag(i) @@ -103,7 +110,7 @@ function changeNameFlag(i) } } -function updateNameDisplay() +function updateNameDisplay(isFemale) { var searchnames = ''; for (var i = 0; i < 10; i++) { @@ -112,30 +119,47 @@ function updateNameDisplay() searchnames += $('#search_name_' + i).find(':text').val() + ';;'; } } - Ajax.update_html(null, 'profile/ajax/buildnames/' + searchnames, function(data){ - var name = data.split(';'); - $('#public_name').html(name[0]); - $('#private_name').html(name[0] + name[1]); - }); + $.xget('profile/ajax/buildnames/' + searchnames + '/' + isFemale, + function(data){ + var name = data.split(';'); + $('#public_name').html(name[0]); + $('#private_name').html(name[0] + name[1]); + }); +} + +function toggleParticle(id) +{ + if ($('#search_name_' + id).find("[name*='[particle]']").val() == '') { + $('#search_name_' + id).find("[name*='[particle]']").val(1); + } else { + $('#search_name_' + id).find("[name*='[particle]']").val(''); + } +} + +// Promotions {{{1 + +function togglePromotionEdition() +{ + $(".promotion_edition").toggle(); } // Nationalities {{{1 function delNationality(i) { - $('#nationalite' + i).hide().find('select').val(''); + $('#nationality' + i).hide().find('select').val(''); } function addNationality() { var i = 0; - if ($('#nationalite2').find('select').val() == "") { + if ($('#nationality2').find('select').val() == "") { i = 2; - } else if ($('#nationalite3').find('select').val() == "") { + } else if ($('#nationality3').find('select').val() == "") { i = 3; } if ((i == 2) || (i == 3)) { - $('#nationalite' + i).show(); + $('#nationality' + i).show(); } } @@ -146,7 +170,11 @@ function prepareType(id) var edu = $('.edu_' + id).find("[name='edus[" + id + "][eduid]']").val() - 1; var sel = $('.edu_' + id).find('[name=edu_' + id + '_tmp]').val(); var html = ''; - var length = educationDegree[edu].length; + if (educationDegree[edu]) { + var length = educationDegree[edu].length; + } else { + var length = 0; + } for (i = 0; i < length; ++i) { html += ''; } + // XXX: to be removed once SQL table profile_merge_issues is. + if (sel != '' && html == '') { + html += ''; + } $('.edu_' + id).find("[name='edus[" + id + "][degreeid]']").html(html); } @@ -292,28 +324,32 @@ function addAddress() i++; } $('#add_address').before('
'); - Ajax.update_html('addresses_' + i + '_cont', 'profile/ajax/address/' + i, checkCurrentAddress()); + $('#addresses_' + i + '_cont').updateHtml('profile/ajax/address/' + i, + checkCurrentAddress()); } -function addressChanged(id) +function addressChanged(prefid) { - $('#addresses_' + id + '_cont').find('[name*=changed]').val("1"); + $('#' + prefid + '_cont').find('[name*=changed]').val("1"); } -function validGeoloc(id, geoloc) +function validGeoloc(prefid, id, geoloc) { if (geoloc == 1) { - $('#addresses_' + id + '_cont').find('[name*=text]').val($('#addresses_' + id + '_cont').find('[name*=geoloc]').val()); - $('#addresses_' + id + '_cont').find('[name*=postalText]').val($('#addresses_' + id + '_cont').find('[name*=geocodedPostalText]').val()); + $('#' + prefid + '_cont').find('[name*=text]').val($('#' + prefid + '_cont').find('[name*=geocodedText]').val()); + $('#' + prefid + '_cont').find('[name*=postalText]').val(''); + } + if (geoloc > 0) { + $('#' + prefid + '_cont').find("[name*='[geocodedText]']").remove(); } - $('#addresses_' + id + '_cont').find('[name*=text]').removeClass('error'); - $('#addresses_' + id + '_cont').find('[name*=geoloc_choice]').val(geoloc); - $('.addresses_' + id + '_geoloc').remove(); + $('#' + prefid + '_cont').find('[name*=text]').removeClass('error'); + $('#' + prefid + '_cont').find('[name*=geocodeChosen]').val(geoloc); + $('.' + prefid + '_geoloc').remove(); } // {{{1 Phones -function addTel(prefid, prefname) +function addTel(prefid, prefname, subField, mainField, mainId) { var i = 0; var prefix = prefid + '_'; @@ -321,25 +357,53 @@ function addTel(prefid, prefname) i++; } $('#' + prefix + 'add').before(''); - Ajax.update_html(prefix + i, 'profile/ajax/tel/' + prefid + '/' + prefname + '/' + i); + $('#' + prefix + i).updateHtml('profile/ajax/tel/' + prefid + '/' + prefname + '/' + i + '/' + subField + '/' + mainField + '/' + mainId); } -function removeTel(id) +function removeTel(prefname, prefid, id) { - $('#' + id).remove(); + var total = 0; + while ($('#' + prefid + '_' + total).length != 0) { + ++total; + } + $('#' + prefid + '_' + id).remove(); + for (var i = parseInt(id) + 1; i < total; ++i) { + renumberPhone(prefname, prefid, i); + } } function addPhoneComment(id) { - $(id + '_comment').show(); - $(id + '_addComment').hide(); + $('#' + id + '_comment').show(); + $('#' + id + '_addComment').hide(); } function removePhoneComment(id, pref) { - $(id + '_comment').hide(); - $(id + '_comment').find("[name='" + pref + "[comment]']").val(''); - $(id + '_addComment').show(); + $('#' + id + '_comment').hide(); + $('#' + id + '_comment').find("[name='" + pref + "[comment]']").val(''); + $('#' + id + '_addComment').show(); +} + +function renumberPhone(prefname, prefid, i) +{ + var telid = i - 1; + var telprefOld = prefname + '[' + i + ']'; + var telpref = prefname + '[' + telid + ']'; + var idOld = prefid + '_' + i; + var id = prefid + '_' + telid; + + $('#' + idOld).attr('id', id); + $('#' + id).find('div.titre').html('N°' + i); + $('#' + id).find('a.removeTel').attr('href', 'javascript:removeTel(\'' + prefname + '\',\'' + prefid + '\',' + telid + ')'); + $('#' + id).find('select').attr('name', telpref + '[type]'); + $('#' + id).find("[name='" + telprefOld + "[display]']").attr('name', telpref + '[display]'); + $('#' + id).find("[name='" + telprefOld + "[comment]']").attr('name', telpref + '[comment]'); + $('#' + id).find('a.removePhoneComment').attr('href', 'javascript:removePhoneComment(' + id + ',' + telpref + ')'); + $('#' + id).find('#' + idOld + '_addComment').attr('id', id + '_addComment'); + $('#' + id).find('#' + id + '_addComment').attr('href', 'javascript:addPhoneComment(' + id + ')'); + $('#' + id).find('#' + idOld + '_comment').attr('id', id + '_comment'); + $('#' + id).find("[name='" + telprefOld + "[pub]']").attr('name', telpref + '[pub]'); } // {{{1 Groups @@ -356,7 +420,7 @@ function addBinet() + '