Made sure profile fields with multiple values are kept in order
This commit is contained in:
parent
585d18da7b
commit
ec985af9d4
1 changed files with 9 additions and 1 deletions
|
|
@ -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
|
||||
);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue