From 02ce78bfc701dfaea5c8ba94927d6496d7f8f727 Mon Sep 17 00:00:00 2001 From: "gerv%gerv.net" <> Date: Thu, 5 Sep 2002 14:28:28 +0000 Subject: Bug 166698 - clean up the error system, which was confused and broken. Patch by gerv; r=bbaetz. --- CGI.pl | 4 - page.cgi | 8 +- template/en/default/global/code-error.html.tmpl | 6 +- template/en/default/global/messages.html.tmpl | 186 +----------------------- template/en/default/global/user-error.html.tmpl | 179 ++++++++++++++++++++++- 5 files changed, 184 insertions(+), 199 deletions(-) diff --git a/CGI.pl b/CGI.pl index a0a0cfd72..0c85128d1 100644 --- a/CGI.pl +++ b/CGI.pl @@ -861,10 +861,6 @@ sub ThrowCodeError { } # For errors made by the user. -# The correct use of this function is to pass an error tag, defined in -# user-error.html.tmpl, as the first parameter, and then, optionally, -# undef as the second parameter and $unlock_tables as the third. -# The second parameter will eventually go away. sub ThrowUserError { ($vars->{'error'}, my $unlock_tables) = (@_); diff --git a/page.cgi b/page.cgi index cc26f93db..2fcf1b9b7 100755 --- a/page.cgi +++ b/page.cgi @@ -39,19 +39,15 @@ ConnectToDatabase(); quietly_check_login(); -print "Content-Type: text/html\n\n"; - if (defined $::FORM{'id'}) { $::FORM{'id'} =~ s/[^\w-]//g; if ($pages{$::FORM{'id'}}) { + print "Content-Type: text/html\n\n"; $template->process($pages{$::FORM{'id'}}, $vars) || ThrowTemplateError($template->error()); exit; } } -$vars->{'message'} = "page_not_found"; - -$template->process("global/message.html.tmpl", $vars) - || ThrowTemplateError($template->error()); +ThrowUserError("page_not_found"); diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl index 65f8bf672..a74d014cd 100644 --- a/template/en/default/global/code-error.html.tmpl +++ b/template/en/default/global/code-error.html.tmpl @@ -21,9 +21,7 @@ [%# INTERFACE: # header_done: boolean. True if the header has already been printed. - # error: string. The tag of the error, or the error message to be displayed - # (deprecated). May contain HTML if it's an error message. - # title: string. If error is an error message, the title (deprecated.) + # error: string. The tag of the error. # variables: hash. Useful data about the problem. The keys are the variable # names, and the values the variable values. #%] @@ -72,7 +70,7 @@ [%# Give sensible error if error functions are used incorrectly. #%] You are using Bugzilla's ThrowCodeError() function incorrectly. You - passed in the string '[% message_tag %]'. The correct use is to pass + passed in the string '[% error %]'. The correct use is to pass in a tag, and define that tag in the file code-error.html.tmpl.

If you are a Bugzilla end-user seeing this message, please save this diff --git a/template/en/default/global/messages.html.tmpl b/template/en/default/global/messages.html.tmpl index d08bd21bb..584c4a93e 100644 --- a/template/en/default/global/messages.html.tmpl +++ b/template/en/default/global/messages.html.tmpl @@ -45,14 +45,8 @@ also bookmark the result of any individual query. [% ELSIF message_tag == "buglist_new_named_query" %] - OK, you have a new query named [% queryname FILTER html %]." + OK, you have a new query named [% queryname FILTER html %]. - [% ELSIF message_tag == "buglist_parameters_required" %] - [% title = "Parameters Required" %] - [% url = "query.cgi" %] - [% link = "Please use the search form to specify some search criteria." %] - This script is not meant to be invoked without any search terms. - [% ELSIF message_tag == "buglist_query_gone" %] [% title = "Query is gone" %] [% link = "Go back to the query page." %] @@ -62,122 +56,6 @@ [% title = "Change columns" %] Resubmitting your query with new columns... - [% ELSIF message_tag == "account_disabled" %] - [% title = "Account Disabled" %] - [% disabledreason %] -
- If you believe your account should be restored, please - send email to [% Param("maintainer") %] explaining why. - - [% ELSIF message_tag == "account_exists" %] - [% title = "Account Already Exists" %] - That account already exists. - - [% ELSIF message_tag == "alias_has_comma_or_space" %] - [% title = "Invalid Characters In Alias" %] - The alias you entered, [% alias FILTER html %], - contains one or more commas or spaces. Aliases cannot contain - commas or spaces because those characters are used to separate - aliases from each other in lists. Please choose another alias - that does not contain commas and spaces. - - [% ELSIF message_tag == "alias_in_use" %] - [% title = "Alias In Use" %] - [% bug_link %] has already taken the alias - [% alias FILTER html %]. Please choose another one. - - [% ELSIF message_tag == "alias_is_numeric" %] - [% title = "Alias Is Numeric" %] - You tried to give this bug the alias [% alias FILTER html %], - but aliases cannot be merely numbers, since they could - then be confused with bug IDs. Please choose another - alias containing at least one letter. - - [% ELSIF message_tag == "alias_too_long" %] - [% title = "Alias Too Long" %] - Bug aliases cannot be longer than 20 characters. - Please choose a shorter alias. - - [% ELSIF message_tag == "bugs_not_changed" %] - [% title = "Bugs Not Changed" %] - Um, you apparently did not change anything on the selected bugs. - - [% ELSIF message_tag == "comment_required" %] - [% title = "Comment Required" %] - You have to specify a comment on this change. - Please give some words on the reason for your change. - - [% ELSIF message_tag == "dependency_loop_multi" %] - [% title = "Dependency Loop Detected" %] - The following bug(s) would appear on both the "depends on" - and "blocks" parts of the dependency tree if these changes - are committed: [% both %]. This would create a circular - dependency, which is not allowed. - - [% ELSIF message_tag == "dependency_loop_single" %] - [% title = "Dependency Loop Detected" %] - You can't make a bug blocked or dependent on itself. - - [% ELSIF message_tag == "dupe_invalid_bug_id" %] - [% title = "Valid Bug Number Required" %] - You must specify a valid bug number of which this bug - is a duplicate. The bug has not been changed. - - [% ELSIF message_tag == "dupe_of_self_disallowed" %] - [% title = "Nice Try..." %] - Nice try, [% user.login FILTER html %], but it doesn't - really make sense to mark a bug as a duplicate of itself, - does it? - - [% ELSIF message_tag == "illegal_at_least_x_votes" %] - [% title = "Your Query Makes No Sense" %] - The At least ___ votes field must be a simple number. - You entered [% value FILTER html %], which isn't. - - [% ELSIF message_tag == "illegal_attachment_is_patch" %] - [% title = "Your Query Makes No Sense" %] - The only legal values for the Attachment is patch field are - 0 and 1. - - [% ELSIF message_tag == "illegal_change" %] - You tried to change the [% field %] field - from [% oldvalue FILTER html %] to - [% newvalue FILTER html %], - but only the owner or submitter of the bug, or a - sufficiently empowered user, may change that field. - - [% ELSIF message_tag == "illegal_changed_in_last_x_days" %] - [% title = "Your Query Makes No Sense" %] - The Changed in last ___ days field must be a simple number. - You entered [% value FILTER html %], which isn't. - - [% ELSIF message_tag == "illegal_date" %] - [% title = "Your Query Makes No Sense" %] - '[% date %]' is not a legal date. - - [% ELSIF message_tag == "illegal_is_obsolete" %] - [% title = "Your Query Makes No Sense" %] - The only legal values for the Attachment is obsolete field are - 0 and 1. - - [% ELSIF message_tag == "invalid_bug_id" %] - [% title = "Invalid Bug ID" %] - The bug id [% bug_id FILTER html %] is invalid. - - [% ELSIF message_tag == "invalid_email_address" %] - [% title = "Invalid Email Address" %] - The e-mail address you entered([% addr FILTER html %]) - didn't pass our syntax checking for a legal email address. - [% Param('emailregexpdesc') %] - It must also not contain any of these special characters: - \ ( ) & < > , ; : " [ ], or any whitespace. - - [% ELSIF message_tag == "invalid_username" %] - [% title = "Invalid Username" %] - The name [% name FILTER html %] is not a valid username. - Either you misspelled it, or the person has not - registered for a Bugzilla account. - [% ELSIF message_tag == "logged_out" %] [% title = "Logged Out" %] [% url = "query.cgi?GoAheadAndLogIn=1" %] @@ -190,53 +68,6 @@ [% title = "Bugzilla Login Changed" %] Your Bugzilla login has been changed. - [% ELSIF message_tag == "page_not_found" %] - [% title = "Page not found" %] - The page you requested cannot be found. - - [% ELSIF message_tag == "milestone_required" %] - [% title = "Milestone Required" %] - You must determine a target milestone for bug [% bug_id %] - if you are going to accept it. Part of accepting - a bug is giving an estimate of when it will be fixed. - - [% ELSIF message_tag == "missing_email_type" %] - [% title = "Your Query Makes No Sense" %] - You must specify one or more fields in which to search for - [% email %]. - - [% ELSIF message_tag == "need_component" %] - [% title = "Component Required" %] - You must specify a component to help determine the new owner of these bugs. - [% ELSIF message_tag == "need_product" %] - [% title = "Product Required" %] - You must specify a product to help determine the new owner of these bugs. - [% ELSIF message_tag == "no_bugs_chosen" %] - [% title = "No Bugs Chosen" %] - You apparently didn't choose any bugs to modify. - - [% ELSIF message_tag == "no_dupe_stats" %] - [% title = "Cannot Find Duplicate Statistics" %] - There are no duplicate statistics for today ([% today %]) or yesterday. - - [% ELSIF message_tag == "no_dupe_stats_error_today" %] - [% title = "Error Reading Today's Dupes File" %] - An error occurred opening today's dupes file: [% error_msg FILTER html %]. - - [% ELSIF message_tag == "no_dupe_stats_error_whenever" %] - [% title = "Error Reading Previous Dupes File" %] - An error occurred opening $changedsince days ago ($whenever)'s dupes file: - [% error_msg FILTER html %]. - - [% ELSIF message_tag == "no_dupe_stats_error_yesterday" %] - [% title = "Error Reading Yesterday's Dupes File" %] - There are no duplicate statistics for today ([% today %]), and an error - occurred opening yesterday's dupes file: [% error_msg FILTER html %]. - - [% ELSIF message_tag == "password_changed" %] - [% title = "Password Changed" %] - Your password has been changed. - [% ELSIF message_tag == "password_change_canceled" %] [% title = "Cancel Request to Change Password" %] Your request has been cancelled. @@ -246,25 +77,18 @@ A token for changing your password has been emailed to you. Follow the instructions in that email to change your password. - [% ELSIF message_tag == "reassign_to_empty" %] - [% title = "Illegal Reassignment" %] - You cannot reassign to a bug to nobody. Unless you - intentionally cleared out the "Reassign bug to" - field, [% Param("browserbugmessage") %] + [% ELSIF message_tag == "password_changed" %] + [% title = "Password Changed" %] + Your password has been changed. [% ELSIF message_tag == "shutdown" %] [% title = "Bugzilla is Down" %] [% Param("shutdownhtml") %] - [% ELSIF message_tag == "unknown_keyword" %] - [% title = "Unknown Keyword" %] - [% keyword FILTER html %] is not a known keyword. - The legal keyword names are listed here. - [% ELSE %] [%# Give sensible error if error functions are used incorrectly. #%] - You are using Bugzilla's error-reporting functions incorrectly. You + You are using Bugzilla's messaging functions incorrectly. You passed in the string '[% message_tag %]'. The correct use is to pass in a tag, and define that tag in the file messages.html.tmpl.

diff --git a/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl index b9654a135..64b354219 100644 --- a/template/en/default/global/user-error.html.tmpl +++ b/template/en/default/global/user-error.html.tmpl @@ -23,7 +23,6 @@ # header_done: boolean. True if the header has already been printed. # error: string. The tag of the error, or the error message to be displayed # (deprecated). May contain HTML if it's an error message. - # title: string. If error is an error message, the title (deprecated.) #%] [%# This is a list of all the possible user errors. Please keep them in @@ -40,10 +39,182 @@ to any [% parameters %] which you may have set before calling ThrowUserError. - [% ELSIF error == "another_error_tag" %] - [% title = "Another Error" %] - This is another sample error. It can be removed. + [% ELSIF error == "account_disabled" %] + [% title = "Account Disabled" %] + [% disabledreason %] +
+ If you believe your account should be restored, please + send email to [% Param("maintainer") %] explaining why. + + [% ELSIF error == "account_exists" %] + [% title = "Account Already Exists" %] + That account already exists. + + [% ELSIF error == "alias_has_comma_or_space" %] + [% title = "Invalid Characters In Alias" %] + The alias you entered, [% alias FILTER html %], + contains one or more commas or spaces. Aliases cannot contain + commas or spaces because those characters are used to separate + aliases from each other in lists. Please choose another alias + that does not contain commas and spaces. + + [% ELSIF error == "alias_in_use" %] + [% title = "Alias In Use" %] + [% bug_link %] has already taken the alias + [% alias FILTER html %]. Please choose another one. + + [% ELSIF error == "alias_is_numeric" %] + [% title = "Alias Is Numeric" %] + You tried to give this bug the alias [% alias FILTER html %], + but aliases cannot be merely numbers, since they could + then be confused with bug IDs. Please choose another + alias containing at least one letter. + + [% ELSIF error == "alias_too_long" %] + [% title = "Alias Too Long" %] + Bug aliases cannot be longer than 20 characters. + Please choose a shorter alias. + [% ELSIF error == "buglist_parameters_required" %] + [% title = "Parameters Required" %] + [% url = "query.cgi" %] + [% link = "Please use the search form to specify some search criteria." %] + This script is not meant to be invoked without any search terms. + + [% ELSIF error == "bugs_not_changed" %] + [% title = "Bugs Not Changed" %] + Um, you apparently did not change anything on the selected bugs. + + [% ELSIF error == "comment_required" %] + [% title = "Comment Required" %] + You have to specify a comment on this change. + Please give some words on the reason for your change. + + [% ELSIF error == "dependency_loop_multi" %] + [% title = "Dependency Loop Detected" %] + The following bug(s) would appear on both the "depends on" + and "blocks" parts of the dependency tree if these changes + are committed: [% both %]. This would create a circular + dependency, which is not allowed. + + [% ELSIF error == "dependency_loop_single" %] + [% title = "Dependency Loop Detected" %] + You can't make a bug blocked or dependent on itself. + + [% ELSIF error == "dupe_invalid_bug_id" %] + [% title = "Valid Bug Number Required" %] + You must specify a valid bug number of which this bug + is a duplicate. The bug has not been changed. + + [% ELSIF error == "dupe_of_self_disallowed" %] + [% title = "Nice Try..." %] + Nice try, [% user.login FILTER html %], but it doesn't + really make sense to mark a bug as a duplicate of itself, + does it? + + [% ELSIF error == "illegal_at_least_x_votes" %] + [% title = "Your Query Makes No Sense" %] + The At least ___ votes field must be a simple number. + You entered [% value FILTER html %], which isn't. + + [% ELSIF error == "illegal_attachment_is_patch" %] + [% title = "Your Query Makes No Sense" %] + The only legal values for the Attachment is patch field are + 0 and 1. + + [% ELSIF error == "illegal_change" %] + You tried to change the [% field %] field + from [% oldvalue FILTER html %] to + [% newvalue FILTER html %], + but only the owner or submitter of the bug, or a + sufficiently empowered user, may change that field. + + [% ELSIF error == "illegal_changed_in_last_x_days" %] + [% title = "Your Query Makes No Sense" %] + The Changed in last ___ days field must be a simple number. + You entered [% value FILTER html %], which isn't. + + [% ELSIF error == "illegal_date" %] + [% title = "Your Query Makes No Sense" %] + '[% date %]' is not a legal date. + + [% ELSIF error == "illegal_email_address" %] + [% title = "Invalid Email Address" %] + The e-mail address you entered([% addr FILTER html %]) + didn't pass our syntax checking for a legal email address. + [% Param('emailregexpdesc') %] + It must also not contain any of these special characters: + \ ( ) & < > , ; : " [ ], or any whitespace. + + [% ELSIF error == "illegal_is_obsolete" %] + [% title = "Your Query Makes No Sense" %] + The only legal values for the Attachment is obsolete field are + 0 and 1. + + [% ELSIF error == "invalid_bug_id" %] + [% title = "Invalid Bug ID" %] + The bug id [% bug_id FILTER html %] is invalid. + + [% ELSIF error == "invalid_username" %] + [% title = "Invalid Username" %] + The name [% name FILTER html %] is not a valid username. + Either you misspelled it, or the person has not + registered for a Bugzilla account. + + [% ELSIF error == "milestone_required" %] + [% title = "Milestone Required" %] + You must determine a target milestone for bug [% bug_id %] + if you are going to accept it. Part of accepting + a bug is giving an estimate of when it will be fixed. + + [% ELSIF error == "missing_email_type" %] + [% title = "Your Query Makes No Sense" %] + You must specify one or more fields in which to search for + [% email %]. + + [% ELSIF error == "need_component" %] + [% title = "Component Required" %] + You must specify a component to help determine the new owner of these bugs. + [% ELSIF error == "need_product" %] + [% title = "Product Required" %] + You must specify a product to help determine the new owner of these bugs. + [% ELSIF error == "no_bugs_chosen" %] + [% title = "No Bugs Chosen" %] + You apparently didn't choose any bugs to modify. + + [% ELSIF error == "no_dupe_stats" %] + [% title = "Cannot Find Duplicate Statistics" %] + There are no duplicate statistics for today ([% today %]) or yesterday. + + [% ELSIF error == "no_dupe_stats_error_today" %] + [% title = "Error Reading Today's Dupes File" %] + An error occurred opening today's dupes file: [% error_msg FILTER html %]. + + [% ELSIF error == "no_dupe_stats_error_whenever" %] + [% title = "Error Reading Previous Dupes File" %] + An error occurred opening $changedsince days ago ($whenever)'s dupes file: + [% error_msg FILTER html %]. + + [% ELSIF error == "no_dupe_stats_error_yesterday" %] + [% title = "Error Reading Yesterday's Dupes File" %] + There are no duplicate statistics for today ([% today %]), and an error + occurred opening yesterday's dupes file: [% error_msg FILTER html %]. + + [% ELSIF error == "page_not_found" %] + [% title = "Page not found" %] + The page you requested cannot be found. + + [% ELSIF error == "reassign_to_empty" %] + [% title = "Illegal Reassignment" %] + You cannot reassign to a bug to nobody. Unless you + intentionally cleared out the "Reassign bug to" + field, [% Param("browserbugmessage") %] + + [% ELSIF error == "unknown_keyword" %] + [% title = "Unknown Keyword" %] + [% keyword FILTER html %] is not a known keyword. + The legal keyword names are listed here. + [% ELSE %] [%# Cope with legacy calling convention, where "error" was the string # to print. -- cgit v1.2.3-24-g4f1b