Bug 415544: Mass-change erases all values from custom multi-select fields - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=mkanat

git-svn-id: svn://10.0.0.236/trunk@244924 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
lpsolit%gmail.com
2008-02-05 11:52:48 +00:00
parent 00dc7169b6
commit f2443af301

View File

@@ -89,8 +89,7 @@ sub send_results {
$vars->{'header_done'} = 1;
}
# Tells us whether or not a field should be changed by process_bug, by
# checking that it's defined and not set to dontchange.
# Tells us whether or not a field should be changed by process_bug.
sub should_set {
# check_defined is used for fields where there's another field
# whose name starts with "defined_" and then the field name--it's used
@@ -141,8 +140,11 @@ my $first_bug = $bug_objects[0]; # Used when we're only updating a single bug.
if (defined $cgi->param('dontchange')) {
foreach my $name ($cgi->param) {
next if $name eq 'dontchange'; # But don't delete dontchange itself!
# Skip ones we've already deleted (such as "defined_$name").
next if !defined $cgi->param($name);
if ($cgi->param($name) eq $cgi->param('dontchange')) {
$cgi->delete($name);
$cgi->delete("defined_$name");
}
}
}