Made sure profile fields with multiple values are kept in order

This commit is contained in:
Andy Grundman 2004-02-26 15:04:13 +00:00
parent 585d18da7b
commit ec985af9d4

View file

@ -403,6 +403,14 @@ sub www_editUserProfile {
if ($method eq "selectList" || $method eq "checkList" || $method eq "radioList") {
# note: this big if statement doesn't look elegant, but doing regular
# ORs caused problems with the array reference.
# make sure the values are ordered
my $orderedValues = {};
tie %{$orderedValues}, 'Tie::IxHash';
foreach my $ov (sort keys %{$values}) {
$orderedValues->{$ov} = $values->{$ov};
}
if ($session{form}{$data{fieldName}}) {
$default = [$session{form}{$data{fieldName}}];
} elsif ($user{$data{fieldName}} && (defined($values->{$user{$data{fieldName}}}))) {
@ -412,7 +420,7 @@ sub www_editUserProfile {
}
$f->$method(
-name=>$data{fieldName},
-options=>$values,
-options=>$orderedValues,
-label=>$label,
-value=>$default
);