Commit 3321a215 authored by gerv%gerv.net's avatar gerv%gerv.net

Bug 140124 - PuntTryAgain must die. Patch by gerv, 2xr=myk.

parent b236802c
...@@ -228,14 +228,11 @@ sub CheckFormField (\%$;\@) { ...@@ -228,14 +228,11 @@ sub CheckFormField (\%$;\@) {
SendSQL("SELECT description FROM fielddefs WHERE name=" . SqlQuote($fieldname)); SendSQL("SELECT description FROM fielddefs WHERE name=" . SqlQuote($fieldname));
my $result = FetchOneColumn(); my $result = FetchOneColumn();
if ($result) { if ($result) {
PuntTryAgain("A legal $result was not set."); ThrowCodeError("A legal $result was not set.", undef, "abort");
} }
else { else {
PuntTryAgain("A legal $fieldname was not set."); ThrowCodeError("A legal $fieldname was not set.", undef, "abort");
print Param("browserbugmessage");
} }
PutFooter();
exit 0;
} }
} }
...@@ -965,9 +962,11 @@ sub DisplayError { ...@@ -965,9 +962,11 @@ sub DisplayError {
# For "this shouldn't happen"-type places in the code. # For "this shouldn't happen"-type places in the code.
# $vars->{'variables'} is a reference to a hash of useful debugging info. # $vars->{'variables'} is a reference to a hash of useful debugging info.
sub ThrowCodeError { sub ThrowCodeError {
($vars->{'error'}, $vars->{'variables'}) = (@_); ($vars->{'error'}, $vars->{'variables'}, my $unlock_tables) = (@_);
$vars->{'title'} = "Code Error"; $vars->{'title'} = "Code Error";
SendSQL("UNLOCK TABLES") if $unlock_tables;
# We may optionally log something to file here. # We may optionally log something to file here.
print "Content-type: text/html\n\n" if !$vars->{'header_done'}; print "Content-type: text/html\n\n" if !$vars->{'header_done'};
...@@ -1016,18 +1015,6 @@ END ...@@ -1016,18 +1015,6 @@ END
exit; exit;
} }
# PuntTryAgain is deprecated. Use UserError with the unlock_tables parameter.
sub PuntTryAgain ($) {
($vars->{'error'}) = (@_);
SendSQL("UNLOCK TABLES");
$vars->{'header_done'} = "true";
$template->process("global/user-error.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
exit;
}
sub CheckIfVotedConfirmed { sub CheckIfVotedConfirmed {
my ($id, $who) = (@_); my ($id, $who) = (@_);
SendSQL("SELECT bugs.votes, bugs.bug_status, products.votestoconfirm, " . SendSQL("SELECT bugs.votes, bugs.bug_status, products.votestoconfirm, " .
......
...@@ -220,15 +220,15 @@ foreach my $b (grep(/^bit-\d*$/, keys %::FORM)) { ...@@ -220,15 +220,15 @@ foreach my $b (grep(/^bit-\d*$/, keys %::FORM)) {
if ($::FORM{$b}) { if ($::FORM{$b}) {
my $v = substr($b, 4); my $v = substr($b, 4);
$v =~ /^(\d+)$/ $v =~ /^(\d+)$/
|| PuntTryAgain("One of the group bits submitted was invalid."); || ThrowCodeError("One of the group bits submitted was invalid.",
undef, "abort");
if (!GroupIsActive($v)) { if (!GroupIsActive($v)) {
# Prevent the user from adding the bug to an inactive group. # Prevent the user from adding the bug to an inactive group.
# Should only happen if there is a bug in Bugzilla or the user # Should only happen if there is a bug in Bugzilla or the user
# hacked the "enter bug" form since otherwise the UI # hacked the "enter bug" form since otherwise the UI
# for adding the bug to the group won't appear on that form. # for adding the bug to the group won't appear on that form.
PuntTryAgain("You can't add this bug to the inactive group " . ThrowCodeError("Attempted to add bug to an inactive group, " .
"identified by the bit '$v'. This shouldn't happen, " . "identified by the bit '$v'.", undef, "abort");
"so it may indicate a bug in Bugzilla.");
} }
$sql .= " + $v"; # Carefully written so that the math is $sql .= " + $v"; # Carefully written so that the math is
# done by MySQL, which can handle 64-bit math, # done by MySQL, which can handle 64-bit math,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment