// {{{ Page initialization
var baseurl = $.plURL('search/');
-var address_types = new Array('country', 'administrative_area_level_1', 'administrative_area_level_2', 'administrative_area_level_3', 'locality', 'sublocality');
+var address_types = new Array('country', 'administrative_area_level_1', 'administrative_area_level_2', 'locality', 'sublocality');
+var address_types_count = address_types.length;
function load_advanced_search(request)
{
setAddress(0, 1, new Array(request['country'],
request['administrative_area_level_1'],
request['administrative_area_level_2'],
- request['administrative_area_level_3'],
request['locality'],
request['sublocality'])
);
} else {
- for (var i = 1; i < 6; ++i) {
- $('tr#' + address_types[i] + '_list').hide();
+ for (var i = 1; i < address_types_count; ++i) {
+ $('tr#' + address_types[i]).hide();
}
}
});
$('#only_referent').change(function() { changeOnlyReferent(); });
+
+ $('.delete_address_component').click(function() {
+ var field_name = $(this).attr('href');
+ var hide = false;
+
+ for (var i = 1; i < address_types_count; ++i) {
+ if (field_name == address_types[i]) {
+ hide = true;
+ }
+ if (hide) {
+ delete_address_component(address_types[i]);
+ }
+ }
+
+ return false;
+ });
}
function display_list(field_name)
$("select[name='locality_text']").attr('value', '');
}
- $("[name='" + next_type + "']").parent().load(baseurl + 'list/' + next_type, { previous:prev_type, value:values[i] }, function() {
+ $('#' + next_list).load(baseurl + 'list/' + next_type, { previous:prev_type, value:values[i] }, function() {
if ($("select[name='" + next_type + "']").children("option").size() > 1) {
- $("tr#" + next_list).show();
+ $("tr#" + next_type).show();
$("select[name='" + next_type + "']").attr('value', values[j]);
- if (j < 6) {
+ if (j < address_types_count) {
setAddress(j, j + 1, values);
}
} else {
- $("tr#" + next_list).hide();
+ $("tr#" + next_type).hide();
$("select[name='" + next_type + "']").attr('value', '');
- if (j < 6) {
+ if (j < address_types_count) {
setAddress(i, j + 1, values);
}
}
var next_type = address_types[j];
var next_list = next_type + '_list';
- if (j == 3) {
+ if (next_type == 'locality') {
$('tr#locality_text').hide();
$("select[name='locality_text']").attr('value', '');
}
- $("[name='" + next_type + "']").parent().load(baseurl + 'list/' + next_type, { previous:prev_type, value:value }, function() {
+ $('#' + next_list).load(baseurl + 'list/' + next_type, { previous:prev_type, value:value }, function() {
$("select[name='" + next_type + "']").attr('value', '');
if ($("select[name='" + next_type + "']").children('option').size() > 1) {
- $('tr#' + next_list).show();
+ $('tr#' + next_type).show();
} else {
- $('tr#' + next_list).hide();
- if (j < 6) {
+ $('tr#' + next_type).hide();
+ if (j < address_types_count) {
displayNextAddressComponent(i, j + 1, value);
}
}
function changeAddressComponents(type, value)
{
- var i = 0, j = 0;
+ var i = 0;
- while (address_types[i] != type && i < 6) {
+ while (address_types[i] != type && i < address_types_count) {
++i;
}
- j = i + 1;
- while (j < 6) {
- $("select[name='" + address_types[j] + "']").attr('value', '');
- $('tr#' + address_types[j] + '_list').hide();
- ++j;
+ for (var j = i + 1; j < address_types_count; ++j) {
+ delete_address_component(address_types[j]);
}
- if (value != '' && i < 5) {
+ if (value != '' && i < address_types_count) {
$("select[name='" + type + "']").attr('value', value);
displayNextAddressComponent(i, i + 1, value);
}
}
+function delete_address_component(field_name)
+{
+ $('tr#' + field_name).hide();
+ $('#' + field_name + '_list').html('');
+ $("input[name='" + field_name + "']").val('');
+
+ if (field_name == 'locality') {
+ $("select[name='locality_text']").attr('value', '');
+ $('tr#locality_text').show();
+ }
+}
+
// when changing school, open diploma choice
function changeSchool(schoolId, diploma)
{
break;
case 'administrative_area_level_1':
case 'administrative_area_level_2':
- case 'administrative_area_level_3':
case 'locality':
$page->assign('onchange', 'changeAddressComponents(\'' . $type . '\', this.value)');
case 'sublocality':
--- /dev/null
+{**************************************************************************}
+{* *}
+{* Copyright (C) 2003-2011 Polytechnique.org *}
+{* http://opensource.polytechnique.org/ *}
+{* *}
+{* This program is free software; you can redistribute it and/or modify *}
+{* it under the terms of the GNU General Public License as published by *}
+{* the Free Software Foundation; either version 2 of the License, or *}
+{* (at your option) any later version. *}
+{* *}
+{* This program is distributed in the hope that it will be useful, *}
+{* but WITHOUT ANY WARRANTY; without even the implied warranty of *}
+{* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *}
+{* GNU General Public License for more details. *}
+{* *}
+{* You should have received a copy of the GNU General Public License *}
+{* along with this program; if not, write to the Free Software *}
+{* Foundation, Inc., *}
+{* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *}
+{* *}
+{**************************************************************************}
+
+<tr id="{$name}">
+ <td>{$description}</td>
+ <td>
+ <span id="{$name}_list"></span>
+ <input name="{$name}" type="hidden" class="address_component" value="{$value}" />
+ <a href="{$name}" class="delete_address_component">
+ {icon name="cross" title="Supprimer ce critère"}
+ </a>
+ </td>
+</tr>
+
+{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
{* *}
{**************************************************************************}
-<td>{$description}</td>
-<td>
- <span id="{$name}_list"></span>
- <input name="{$name}_text" type="text" class="autocomplete" size="32" value="{$value_text}" />
- <input name="{$name}" type="hidden" class="autocomplete_target" value="{$value}" />
- <a href="{$name}" class="autocomplete_to_select" title="display" id="{$name}_table">
- {icon name="table" title=$title}
- </a>
-</td>
+<tr>
+ <td>{$description}</td>
+ <td>
+ <span id="{$name}_list"></span>
+ <input name="{$name}_text" type="text" class="autocomplete" size="32" value="{$value_text}" />
+ <input name="{$name}" type="hidden" class="autocomplete_target" value="{$value}" />
+ <a href="{$name}" class="autocomplete_to_select" title="display" id="{$name}_table">
+ {icon name="table" title=$title}
+ </a>
+ </td>
+</tr>
{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
<tr>
<td colspan="2" class="center"><small>Seuls les lieux où résident des camarades sont proposés ci-dessous.</small></td>
</tr>
- <tr>
- {include file="search/adv.form.autocomplete_select.tpl" description="Pays" name="country"
- value_text=$smarty.request.country_text value=$smarty.request.country title="Tous les pays"}
- </tr>
- <tr id="administrative_area_level_1_list">
- <td>Région, province, état…</td>
- <td>
- <input name="administrative_area_level_1" type="hidden" size="32" value="{$smarty.request.administrative_area_level_1}" />
- </td>
- </tr>
- <tr id="administrative_area_level_2_list">
- <td>Département, comté…</td>
- <td>
- <input name="administrative_area_level_2" type="hidden" size="32" value="{$smarty.request.administrative_area_level_2}" />
- </td>
- </tr>
- <tr id="administrative_area_level_3_list">
- <td>Canton…</td>
- <td>
- <input name="administrative_area_level_3" type="hidden" size="32" value="{$smarty.request.administrative_area_level_3}" />
- </td>
- </tr>
+ {include file="search/adv.form.autocomplete_select.tpl" description="Pays" name="country"
+ value_text=$smarty.request.country_text value=$smarty.request.country title="Tous les pays"}
+ {include file="search/adv.form.address_component.tpl" description="Région, province, état…" name="administrative_area_level_1"
+ value=$smarty.request.administrative_area_level_1}
+ {include file="search/adv.form.address_component.tpl" description="Département, comté…" name="administrative_area_level_2"
+ value=$smarty.request.administrative_area_level_2}
<tr id="locality_text">
<td>Ville</td>
<td><input type="text" class="autocomplete" name="locality_text" size="32" value="{$smarty.request.locality_text}" /></td>
</tr>
- <tr id="locality_list">
- <td>Ville</td>
- <td>
- <input name="locality" type="hidden" size="32" value="{$smarty.request.locality}" />
- </td>
- </tr>
- <tr id="sublocality_list">
- <td>Arrondissement, quartier…</td>
- <td>
- <input name="sublocality" type="hidden" size="32" value="{$smarty.request.sublocality}" />
- </td>
- </tr>
+ {include file="search/adv.form.address_component.tpl" description="Ville" name="locality" value=$smarty.request.locality}
+ {include file="search/adv.form.address_component.tpl" description="Arrondissement, quartier…" name="sublocality" value=$smarty.request.sublocality}
<tr>
<td colspan="2">
<label for="only_current">
<td>Description</td>
<td><input type="text" class="autocomplete" name="jobdescription" size="32" value="{$smarty.request.jobdescription}" /></td>
</tr>
- <tr>
- {include file="search/adv.form.autocomplete_select.tpl" description="Mots-clefs" name="jobterm"
- value_text=$smarty.request.jobterm_text value=$smarty.request.jobterm title="Tous les mots-clefs"}
- </tr>
+ {include file="search/adv.form.autocomplete_select.tpl" description="Mots-clefs" name="jobterm"
+ value_text=$smarty.request.jobterm_text value=$smarty.request.jobterm title="Tous les mots-clefs"}
{if hasPerm('directory_private')}
<tr>
<td>CV contient</td>
<tr>
<th colspan="2">Divers</th>
</tr>
- <tr>
- {include file="search/adv.form.autocomplete_select.tpl" description="Nationalité" name="nationalite"
- value_text=$smarty.request.nationalite_text value=$smarty.request.nationalite title="Toutes les nationalités"}
- </tr>
+ {include file="search/adv.form.autocomplete_select.tpl" description="Nationalité" name="nationalite"
+ value_text=$smarty.request.nationalite_text value=$smarty.request.nationalite title="Toutes les nationalités"}
{if hasPerm('directory_private')}
- <tr>
- {include file="search/adv.form.autocomplete_select.tpl" description="Binet" name="binet"
- value_text=$smarty.request.binet_text value=$smarty.request.binet title="Tous les binets"}
- </tr>
+ {include file="search/adv.form.autocomplete_select.tpl" description="Binet" name="binet"
+ value_text=$smarty.request.binet_text value=$smarty.request.binet title="Tous les binets"}
{/if}
- <tr>
- {include file="search/adv.form.autocomplete_select.tpl" description="Groupe X" name="groupex"
- value_text=$smarty.request.groupex_text value=$smarty.request.groupex title="Tous les groupes X"}
- </tr>
+ {include file="search/adv.form.autocomplete_select.tpl" description="Groupe X" name="groupex"
+ value_text=$smarty.request.groupex_text value=$smarty.request.groupex title="Tous les groupes X"}
{if hasPerm('directory_private')}
- <tr>
- {include file="search/adv.form.autocomplete_select.tpl" description="Section" name="section"
- value_text=$smarty.request.section_text value=$smarty.request.section title="Toutes les sections"}
- </tr>
+ {include file="search/adv.form.autocomplete_select.tpl" description="Section" name="section"
+ value_text=$smarty.request.section_text value=$smarty.request.section title="Toutes les sections"}
{/if}
- <tr>
- {include file="search/adv.form.autocomplete_select.tpl" description="Formation" name="school"
- value_text=$smarty.request.school_text value=$smarty.request.school title="Toutes les formations"}
- </tr>
+ {include file="search/adv.form.autocomplete_select.tpl" description="Formation" name="school"
+ value_text=$smarty.request.school_text value=$smarty.request.school title="Toutes les formations"}
<tr>
<td>Diplôme</td>
<td>