From: Stéphane Jacob Date: Sun, 12 Apr 2009 13:12:03 +0000 (+0200) Subject: Fixes name edition: only notifies a name modification if it is actually modified. X-Git-Tag: xorg/1.0.0~332^2~313^2~15 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=09f9ebea09dfc4283294a41d363843fa7ceefb59;p=platal.git Fixes name edition: only notifies a name modification if it is actually modified. --- diff --git a/htdocs/javascript/profile.js b/htdocs/javascript/profile.js index add62f8..a85063b 100644 --- a/htdocs/javascript/profile.js +++ b/htdocs/javascript/profile.js @@ -120,6 +120,15 @@ function updateNameDisplay() }); } +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(''); + } +} + // Nationalities {{{1 function delNationality(i) diff --git a/modules/profile/general.inc.php b/modules/profile/general.inc.php index 51a5979..708c2dc 100644 --- a/modules/profile/general.inc.php +++ b/modules/profile/general.inc.php @@ -56,6 +56,7 @@ class ProfileSearchNames implements ProfileSetting { $success = true; $success_tmp = true; + if (is_null($value)) { $sn_all = XDB::iterator("SELECT CONCAT(sn.particle, sn.name) AS name, sn.particle, sn.typeid, e.type, e.name AS type_name, @@ -82,12 +83,14 @@ class ProfileSearchNames implements ProfileSetting $value[] = $sn; $sn = $sn_all->next(); } else { - $value[] = array('typeid' => $sn_type['id'], - 'type' => $sn_type['type'], - 'type_name' => $sn_type['name'], - 'pub' => 1, + $value[] = array('name' => '', + 'particle' => '', + 'typeid' => $sn_type['id'], + 'type' => $sn_type['type'], + 'type_name' => $sn_type['name'], 'has_particle' => $sn_type['has_particle'], - 'always_displayed' => 1); + 'always_displayed' => 1, + 'pub' => 1); } } if ($sn) { @@ -159,6 +162,7 @@ class ProfileSearchNames implements ProfileSetting Platal::page()->assign('public_name', $public_name); Platal::page()->assign('private_name', $private_name); } + return $value; } diff --git a/templates/profile/general.searchname.tpl b/templates/profile/general.searchname.tpl index 89649b7..e7c2735 100644 --- a/templates/profile/general.searchname.tpl +++ b/templates/profile/general.searchname.tpl @@ -52,11 +52,10 @@ {if $sn.error} class="error"{/if} size="25" onkeyup="updateNameDisplay();"/> - {if $sn.has_particle} - {else} - {/if} + {if $sn.has_particle} + {/if} + {if !$sn.always_displayed} {icon name=cross title="Supprimer ce nom"} {/if}