summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2005-11-10 08:24:13 +0100
committerlpsolit%gmail.com <>2005-11-10 08:24:13 +0100
commit470620fa7405b1dd7bb8f83f54b8b12423062b55 (patch)
tree2ed80bd16f5025e2458375bb921285a9bc198375 /Bugzilla
parent23c6b94665ed37bdf076a8cd46cefbfeaf732d1f (diff)
downloadbugzilla-470620fa7405b1dd7bb8f83f54b8b12423062b55.tar.gz
bugzilla-470620fa7405b1dd7bb8f83f54b8b12423062b55.tar.xz
Bug 315339: User::match_field() now leaves fields undefined instead of as empty strings when no value is passed - Patch by Frédéric Buclin <LpSolit@gmail.com> r=wicked a=myk
Diffstat (limited to 'Bugzilla')
-rw-r--r--Bugzilla/User.pm13
1 files changed, 11 insertions, 2 deletions
diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm
index 701c1c2b2..88a7f0e49 100644
--- a/Bugzilla/User.pm
+++ b/Bugzilla/User.pm
@@ -952,9 +952,13 @@ sub match_field {
my $raw_field = join(" ", $cgi->param($field));
# When we add back in values later, it matters that we delete
- # the param here, and not set it to '', so that we will add
+ # the field here, and not set it to '', so that we will add
# things to an empty list, and not to a list containing one
- # empty string
+ # empty string.
+ # If no match or more than one match is found for this field,
+ # we will set it back to '' so that the field remains defined
+ # outside this function (it was if we came here; else we would
+ # have returned ealier above).
$cgi->delete($field);
my @queries = ();
@@ -1039,6 +1043,11 @@ sub match_field {
$need_confirm = 1; # confirmation screen shows failures
}
}
+ # Above, we deleted the field before adding matches. If no match
+ # or more than one match has been found, we set it back to '' so
+ # that the caller of this function can still check whether this
+ # field was defined or not (and it was if we came here).
+ $cgi->param($field, '') unless defined $cgi->param($field);
}
my $retval;