]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 166698 - clean up the error system, which was confused and broken. Patch by gerv...
authorgerv%gerv.net <>
Thu, 5 Sep 2002 14:28:28 +0000 (14:28 +0000)
committergerv%gerv.net <>
Thu, 5 Sep 2002 14:28:28 +0000 (14:28 +0000)
CGI.pl
page.cgi
template/en/default/global/code-error.html.tmpl
template/en/default/global/messages.html.tmpl
template/en/default/global/user-error.html.tmpl

diff --git a/CGI.pl b/CGI.pl
index a0a0cfd72d00bfd5d9436fc5553d44b54f5d2680..0c85128d14a904514095087b46b8c6321dd54140 100644 (file)
--- 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) = (@_);
 
index cc26f93db8cc4109120767dfa6d5a3dea58d5860..2fcf1b9b78d169722d83f0c6b63fb7e08dc2a47a 100755 (executable)
--- 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");
index 65f8bf67239dda3110b8d48894390903c7788c77..a74d014cdf52d057078ce5fab258594e8111d4bd 100644 (file)
@@ -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.<br>
     <br>
     If you are a Bugzilla end-user seeing this message, please save this
index d08bd21bb22c88e467ed9490f97c744b4c664029..584c4a93e78710a6cac9a67effb439a6da1a7ba1 100644 (file)
     also bookmark the result of any individual query.
 
   [% ELSIF message_tag == "buglist_new_named_query" %]
-    OK, you have a new query named <code>[% queryname FILTER html %]</code>."
+    OK, you have a new query named <code>[% queryname FILTER html %]</code>.
 
-  [% 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." %]
     [% title = "Change columns" %]
     Resubmitting your query with new columns...
 
-  [% ELSIF message_tag == "account_disabled" %]
-    [% title = "Account Disabled" %]
-    [% disabledreason %]
-    <hr>
-    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, <em>[% alias FILTER html %]</em>,
-    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 
-    <em>[% alias FILTER html %]</em>.  Please choose another one.
-    
-  [% ELSIF message_tag == "alias_is_numeric" %]
-    [% title = "Alias Is Numeric" %]
-    You tried to give this bug the alias <em>[% alias FILTER html %]</em>,
-    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 <b>comment</b> 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 <em>At least ___ votes</em> field must be a simple number. 
-    You entered <tt>[% value FILTER html %]</tt>, which isn't.
-    
-  [% ELSIF message_tag == "illegal_attachment_is_patch" %]
-    [% title = "Your Query Makes No Sense" %]
-     The only legal values for the <em>Attachment is patch</em> field are
-     0 and 1.
-         
-  [% ELSIF message_tag == "illegal_change" %]
-    You tried to change the <strong>[% field %]</strong> field 
-    from <em>[% oldvalue FILTER html %]</em> to 
-    <em>[% newvalue FILTER html %]</em>, 
-    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 <em>Changed in last ___ days</em> field must be a simple number. 
-    You entered <tt>[% value FILTER html %]</tt>, which isn't.
-    
-  [% ELSIF message_tag == "illegal_date" %]
-    [% title = "Your Query Makes No Sense" %]
-    '<tt>[% date %]</tt>' is not a legal date.
-    
-  [% ELSIF message_tag == "illegal_is_obsolete" %]
-    [% title = "Your Query Makes No Sense" %]
-     The only legal values for the <em>Attachment is obsolete</em> 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(<b>[% addr FILTER html %]</b>) 
-    didn't pass our syntax checking for a legal email address. 
-    [% Param('emailregexpdesc') %]
-    It must also not contain any of these special characters:
-    <tt>\ ( ) &amp; &lt; &gt; , ; : &quot; [ ]</tt>, or any whitespace.
-    
-  [% ELSIF message_tag == "invalid_username" %]
-    [% title = "Invalid Username" %]
-    The name <tt>[% name FILTER html %]</tt> 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" %]
     [% 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
-    <tt>[% email %]</tt>.
-    
-  [% 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.
     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" %]
-    <code>[% keyword FILTER html %]</code> is not a known keyword. 
-    The legal keyword names are <a href="describekeywords.cgi">listed here</a>.
-    
   [% 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.<br>
     <br>
index b9654a1359ac0e537e7f2fd2b1d5769d53b8e879..64b354219e5ec136ab43b54a24c1a6d0017841c1 100644 (file)
@@ -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
     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 %]
+    <hr>
+    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, <em>[% alias FILTER html %]</em>,
+    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 
+    <em>[% alias FILTER html %]</em>.  Please choose another one.
+    
+  [% ELSIF error == "alias_is_numeric" %]
+    [% title = "Alias Is Numeric" %]
+    You tried to give this bug the alias <em>[% alias FILTER html %]</em>,
+    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 <b>comment</b> 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 <em>At least ___ votes</em> field must be a simple number. 
+    You entered <tt>[% value FILTER html %]</tt>, which isn't.
+    
+  [% ELSIF error == "illegal_attachment_is_patch" %]
+    [% title = "Your Query Makes No Sense" %]
+     The only legal values for the <em>Attachment is patch</em> field are
+     0 and 1.
+         
+  [% ELSIF error == "illegal_change" %]
+    You tried to change the <strong>[% field %]</strong> field 
+    from <em>[% oldvalue FILTER html %]</em> to 
+    <em>[% newvalue FILTER html %]</em>, 
+    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 <em>Changed in last ___ days</em> field must be a simple number. 
+    You entered <tt>[% value FILTER html %]</tt>, which isn't.
+    
+  [% ELSIF error == "illegal_date" %]
+    [% title = "Your Query Makes No Sense" %]
+    '<tt>[% date %]</tt>' is not a legal date.
+    
+  [% ELSIF error == "illegal_email_address" %]
+    [% title = "Invalid Email Address" %]
+    The e-mail address you entered(<b>[% addr FILTER html %]</b>) 
+    didn't pass our syntax checking for a legal email address. 
+    [% Param('emailregexpdesc') %]
+    It must also not contain any of these special characters:
+    <tt>\ ( ) &amp; &lt; &gt; , ; : &quot; [ ]</tt>, or any whitespace.
+    
+  [% ELSIF error == "illegal_is_obsolete" %]
+    [% title = "Your Query Makes No Sense" %]
+     The only legal values for the <em>Attachment is obsolete</em> 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 <tt>[% name FILTER html %]</tt> 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
+    <tt>[% email %]</tt>.
+    
+  [% 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" %]
+    <code>[% keyword FILTER html %]</code> is not a known keyword. 
+    The legal keyword names are <a href="describekeywords.cgi">listed here</a>.
+    
   [% ELSE %]
     [%# Cope with legacy calling convention, where "error" was the string
       # to print.