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 (\%$;\@) {
SendSQL("SELECT description FROM fielddefs WHERE name=" . SqlQuote($fieldname));
my $result = FetchOneColumn();
if ($result) {
PuntTryAgain("A legal $result was not set.");
ThrowCodeError("A legal $result was not set.", undef, "abort");
}
else {
PuntTryAgain("A legal $fieldname was not set.");
print Param("browserbugmessage");
ThrowCodeError("A legal $fieldname was not set.", undef, "abort");
}
PutFooter();
exit 0;
}
}
......@@ -965,9 +962,11 @@ sub DisplayError {
# For "this shouldn't happen"-type places in the code.
# $vars->{'variables'} is a reference to a hash of useful debugging info.
sub ThrowCodeError {
($vars->{'error'}, $vars->{'variables'}) = (@_);
($vars->{'error'}, $vars->{'variables'}, my $unlock_tables) = (@_);
$vars->{'title'} = "Code Error";
SendSQL("UNLOCK TABLES") if $unlock_tables;
# We may optionally log something to file here.
print "Content-type: text/html\n\n" if !$vars->{'header_done'};
......@@ -1016,18 +1015,6 @@ END
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 {
my ($id, $who) = (@_);
SendSQL("SELECT bugs.votes, bugs.bug_status, products.votestoconfirm, " .
......
......@@ -220,15 +220,15 @@ foreach my $b (grep(/^bit-\d*$/, keys %::FORM)) {
if ($::FORM{$b}) {
my $v = substr($b, 4);
$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)) {
# Prevent the user from adding the bug to an inactive group.
# Should only happen if there is a bug in Bugzilla or the user
# hacked the "enter bug" form since otherwise the UI
# for adding the bug to the group won't appear on that form.
PuntTryAgain("You can't add this bug to the inactive group " .
"identified by the bit '$v'. This shouldn't happen, " .
"so it may indicate a bug in Bugzilla.");
ThrowCodeError("Attempted to add bug to an inactive group, " .
"identified by the bit '$v'.", undef, "abort");
}
$sql .= " + $v"; # Carefully written so that the math is
# 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