X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=htdocs%2Fjavascript%2Fprofile.js;h=3a10c1700580defa8a392778afa7cf95d2d73430;hb=57fa97b3b0820a76b26a1d17c078c3663b161922;hp=b70fb067ee9b8826c4450c7df91694572ca928fe;hpb=ce0d7be772306674fadaf020511871aba1683816;p=platal.git diff --git a/htdocs/javascript/profile.js b/htdocs/javascript/profile.js index b70fb06..3a10c17 100644 --- a/htdocs/javascript/profile.js +++ b/htdocs/javascript/profile.js @@ -37,11 +37,10 @@ function wizPage_onLoad(id) updateGroupSubLink(); break; case 'deco': - for (var i in names) { - if ($('#medal_' + i).length != 0) { - getMedalName(i); - buildGrade(i, $('#medal_' + i).find('[name*=medal_' + i + '_grade]').val()); - } + var i = 0; + while ($('#medal_' + i).length != 0) { + prepareMedal(i); + ++i; } break; case 'emploi': @@ -57,6 +56,7 @@ var educationDegreeAll; var educationDegreeName; var subgrades; var names; +var multiples; // Publicity follows the following ordering: private < ax < public. var publicity = []; @@ -211,7 +211,7 @@ function addEdu() i++; $('#edu_add').addClass(prefix + i); i--; - $.get(platal_baseurl + 'profile/ajax/edu/' + i + '/' + class_parity, + $.xget('profile/ajax/edu/' + i + '/' + class_parity, function(data) { $('#edu_add').before(data); prepareType(i); @@ -333,18 +333,22 @@ function addressChanged(prefid) $('#' + prefid + '_cont').find('[name*=changed]').val("1"); } -function validGeoloc(prefid, id, geoloc) +function deleteGeocoding(prefid, hrpid) { - if (geoloc == 1) { - $('#' + 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(); + var confirmation = confirm( + "La localisation de l'adresse sert à deux choses : te placer dans " + + "le planisphère et te faire apparaître dans la recherche avancée par " + + "pays, région, département, ville... La supprimer t'en fera disparaître. " + + "\nIl ne faut le faire que si cette localisation " + + "est réellement erronée. Avant de supprimer cette localisation, l'équipe de " + + "Polytechnique.org tentera de la réparer.\n\nConfirmes-tu ta " + + "demande de suppression de cette localisation ?"); + + if (confirmation) { + var address = $('#' + prefid).find("[name*='[text]']").val(); + $.xpost('profile/ajax/address/del/' + hrpid, { address:address }); + $('#' + prefid + '_geocoding_removal').html('Localisation en attente de validation.'); } - $('#' + prefid + '_cont').find('[name*=text]').removeClass('error'); - $('#' + prefid + '_cont').find('[name*=geocodeChosen]').val(geoloc); - $('.' + prefid + '_geoloc').remove(); } // {{{1 Phones @@ -437,10 +441,17 @@ function updateGroupSubLink() // {{{1 Medals +function prepareMedal(i) +{ + getMedalName($('#medal_' + i).find('[name="medals[' + i + '][id]"]').val()); + buildGrade(i); +} + function updateMedal() { var val = $('#medals').find('[name*=medal_sel]').val(); - if (val && ($('#medal_' + val).length == 0)) { + + if ((multiple[val] && subgrades[val]) || $('.medal_name_' + val).length == 0) { $('#medal_add').show(); } else { $('#medal_add').hide(); @@ -449,55 +460,80 @@ function updateMedal() function getMedalName(id) { - $('#medal_name_' + id).html(names[id]); + $('.medal_name_' + id).html(names[id]); } -function buildGrade(id, current) +function buildGrade(i) { - var grade; - var subg = subgrades[id]; - var obj = $('#medal_grade_' + id); + var id = $('#medal_' + i).find('[name="medals[' + i + '][id]"]').val(); + var current = $('#medal_' + i).find('[name="medals_' + i + '_grade"]').val(); + var subg = subgrades[id]; + var obj = $('#medal_grade_' + i); if (!subg) { - obj.prepend(''); + obj.prepend(''); } else { - var html = 'Agrafe : '; html += ''; - for (grade = 0 ; grade < subg.length ; grade++) { + for (var grade = 0; grade < subg.length; ++grade) { html += '