SendSQL("SELECT description FROM fielddefs WHERE name=" . SqlQuote($fieldname));
my $result = FetchOneColumn();
if ($result) {
- ThrowCodeError("A legal $result was not set.", undef, "abort");
+ $vars->{'field'} = $result;
}
else {
- ThrowCodeError("A legal $fieldname was not set.", undef, "abort");
+ $vars->{'field'} = $fieldname;
}
+
+ ThrowCodeError("illegal_field", "abort");
}
}
) = @_;
if (!defined $formRef->{$fieldname}) {
- ThrowCodeError("$fieldname was not defined; " .
- Param("browserbugmessage"));
- }
+ $vars->{'field'} = $fieldname;
+ ThrowCodeError("undefined_field");
+ }
}
sub BugAliasToID {
# 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'}, my $unlock_tables) = (@_);
+ ($vars->{'error'}, my $unlock_tables, $vars->{'variables'}) = (@_);
SendSQL("UNLOCK TABLES") if $unlock_tables;
if ($::FORM{$b}) {
my $v = substr($b, 4);
$v =~ /^(\d+)$/
- || ThrowCodeError("One of the group bits submitted was invalid.",
- undef, "abort");
+ || ThrowCodeError("group_bit_invalid", "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.
- ThrowCodeError("Attempted to add bug to an inactive group, " .
- "identified by the bit '$v'.", undef, "abort");
+ $vars->{'bit'} = $v;
+ ThrowCodeError("inactive_group", "abort");
}
$sql .= " + $v"; # Carefully written so that the math is
# done by MySQL, which can handle 64-bit math,
last SWITCH;
};
- # default
- my $escaped_knob = html_quote($::FORM{'knob'});
- ThrowCodeError("Unknown action $escaped_knob!\n");
+
+ $vars->{'action'} = $::FORM{'knob'};
+ ThrowCodeError("unknown_action");
}
to any [% parameters %] which you may have set before calling
ThrowCodeError.
- [% ELSIF error == "another_error_tag" %]
- This is another sample error, without a special title. This
- should be the usual usage for this file. This sample can be removed.
+ [% ELSIF error == "group_bit_invalid" %]
+ One of the group bits submitted was invalid.
+ [% ELSIF error == "illegal_field" %]
+ A legal [% field FILTER html %] was not set.
+
+ [% ELSIF error == "inactive_group" %]
+ Attempted to add bug to an inactive group, identified by the bit
+ '[% bit FILTER html %]'.
+
[% ELSIF error == "template_error" %]
[% template_error_msg %]
+ [% ELSIF error == "undefined_field" %]
+ [% field FILTER html %] was not defined; [% Param('browserbugmessage') %]
+
+ [% ELSIF error == "unknown_action" %]
+ Unknown action [% action FILTER html %]!
+
[% ELSE %]
[%# Cope with legacy calling convention, where "error" was the string
# to print.