]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 167978 - Fix Throw*Error l10n regressions and add a test to catch more. Patch...
authorgerv%gerv.net <>
Fri, 13 Sep 2002 05:51:42 +0000 (05:51 +0000)
committergerv%gerv.net <>
Fri, 13 Sep 2002 05:51:42 +0000 (05:51 +0000)
attachment.cgi
describecomponents.cgi
duplicates.cgi
post_bug.cgi
process_bug.cgi
quips.cgi
t/002goodperl.t
template/en/default/global/user-error.html.tmpl
userprefs.cgi

index 43b2b4940380cc5b940fca0d2db615317f572896..45538ae23552b3428f2e1f5d3dc6a8d79be347bc 100755 (executable)
@@ -142,7 +142,7 @@ sub validateID
     my ($bugid, $isprivate) = FetchSQLData();
     ValidateBugID($bugid);
     if (($isprivate > 0 ) && Param("insidergroup") && !(UserInGroup(Param("insidergroup")))) {
-        ThrowUserError("You are not permitted access to this attachment.");
+        ThrowUserError("attachment_access_denied");
     }
 }
 
index 9edb5dfa0079b8a64d317bf259aa1854c1dc983f..be3be4b9fd3578644f0ed29704cc5ba2291f0696 100755 (executable)
@@ -87,7 +87,10 @@ my $product = $::FORM{'product'};
 # cannot get any other information about that product.
 my $product_id = get_product_id($product);
 
-ThrowUserError("The product name is invalid.") unless $product_id;
+if (!$product_id) {
+    $::vars->{'product'} = $product;
+    ThrowUserError("invalid_product_name");
+}
 
 # Make sure the user is authorized to access this product.
 if (Param("usebuggroups") && GroupExists($product)) {
index 285c65717586c609af61dffc8e2f4e244b6fb7b6..5196027acd2f80d05438bbb9a0299531a13a7837 100755 (executable)
@@ -65,8 +65,8 @@ my $product_id;
 if ($product) {
     $product_id = get_product_id($product);
     if (!$product_id) {
-        ThrowUserError("The product <tt>" . html_quote($product) . 
-                       "</tt> does not exist");
+        $vars->{'product'} = $product;
+        ThrowUserError("invalid_product_name");
     }
 }
 
index bab55a9acaea49b44256875980f17270af6892f6..b7fdf66d530b8f7b7d1809f41a1785aa86c3e7a8 100755 (executable)
@@ -71,8 +71,8 @@ ValidateComment($comment);
 my $product = $::FORM{'product'};
 my $product_id = get_product_id($product);
 if (!$product_id) {
-    ThrowUserError("Sorry, the product <tt>" . html_quote($product) .
-                   "</tt> does not exist");
+    $vars->{'product'} = $product;
+    ThrowUserError("invalid_product_name");
 }
 
 # Set cookies
index 59bb83e0edc836aa24225ba923bafc4da09157db..ab65c0da5ba1b4a547ac84473befdce7982e9caf 100755 (executable)
@@ -558,8 +558,7 @@ if ($::FORM{'product'} ne $::dontchange) {
 my $comp_id; # Remember, can't use this for mass changes
 if ($::FORM{'component'} ne $::dontchange) {
     if (!defined $prod_id) {
-        ThrowUserError("You cannot change the component from a list of bugs " .
-                       "covering more than one product");
+        ThrowUserError("no_component_change_for_multiple_products");
     }
     $comp_id = get_component_id($prod_id,
                                 $::FORM{'component'});
index 7db312c61a6e7686362e54d8038bf24ada87ee11..f120e5a24dfc81f553cf87cfc3c25cc43490f520 100755 (executable)
--- a/quips.cgi
+++ b/quips.cgi
@@ -63,7 +63,7 @@ if ($action eq "add") {
     }
 
     if (Param('enablequips') ne "on") {
-        ThrowUserError("This site does not permit the addition of new quips");
+        ThrowUserError("no_new_quips");
         exit();
     }
     
index 1431e7fe895b4f2a0f1eaebde8b976ce13e0a513..973a5fb884f739f0f253c3eb441e528e321ef790 100644 (file)
@@ -44,7 +44,7 @@ use lib 't';
 
 use Support::Files;
 
-use Test::More tests => (scalar(@Support::Files::testitems) * 2);
+use Test::More tests => (scalar(@Support::Files::testitems) * 3);
 
 my @testitems = @Support::Files::testitems; # get the files to test.
 
@@ -116,4 +116,30 @@ foreach my $file (@testitems) {
     }
 }
 
+# Check to see that all error messages use tags (for l10n reasons.)
+foreach my $file (@testitems) {
+    $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
+    next if (!$file); # skip null entries
+    if (! open (FILE, $file)) {
+        ok(0,"could not open $file --WARNING");
+        next;
+    }
+    my $lineno = 0;
+    my $error = 0;
+    
+    while (my $file_line = <FILE>) {
+        $lineno++;
+        if ($file_line =~ /Throw.*Error\("(.*?)"/) {
+            if ($1 =~ /\s/) {
+                ok(0,"$file has a Throw*Error call on line $lineno 
+                      which doesn't use a tag --ERROR");
+                $error = 1;       
+            }
+        }
+    }
+    
+    ok(1,"$file uses Throw*Error calls correctly") if !$error;
+    
+    close(FILE);
+}
 exit 0;
index 64b354219e5ec136ab43b54a24c1a6d0017841c1..4edacf2c8c5a9f33b5144f24a262a7cc7d778617 100644 (file)
     Bug aliases cannot be longer than 20 characters.
     Please choose a shorter alias.
 
+  [% ELSIF error == "attachment_access_denied" %]
+    [% title = "Access Denied" %]
+    You are not permitted access to this attachment.
+    
   [% ELSIF error == "buglist_parameters_required" %]
     [% title = "Parameters Required" %]
     [% url   = "query.cgi" %]
     [% title = "Invalid Bug ID" %]
     The bug id [% bug_id FILTER html %] is invalid.
 
+  [% ELSIF error == "invalid_product_name" %]
+    [% title = "Invalid Product Name" %]
+    The product name '[% product FILTER html %]' is invalid or does not exist.
+    
   [% ELSIF error == "invalid_username" %]
     [% title = "Invalid Username" %]
     The name <tt>[% name FILTER html %]</tt> is not a valid username.  
     [% title = "No Bugs Chosen" %]
     You apparently didn't choose any bugs to modify.
 
+  [% ELSIF error == "no_component_change_for_multiple_products" %]
+    [% title = "Action Not Permitted" %]
+    You cannot change the component for a list of bugs covering more than 
+    one product.
+                       
   [% ELSIF error == "no_dupe_stats" %]
     [% title = "Cannot Find Duplicate Statistics" %]
     There are no duplicate statistics for today ([% today %]) or yesterday.
     There are no duplicate statistics for today ([% today %]), and an error
     occurred opening yesterday's dupes file: [% error_msg FILTER html %].
     
+  [% ELSIF error == "no_new_quips" %]
+    [% title = "No New Quips" %]
+    This site does not permit the addition of new quips.
+    
   [% ELSIF error == "page_not_found" %]
     [% title = "Page not found" %]
     The page you requested cannot be found.
     [% 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>.
+
+  [% ELSIF error == "unknown_tab" %]
+    [% title = "Unknown Tab" %]
+    <code>[% current_tab_name FILTER html %]</code> is not a legal tab name.    
     
   [% ELSE %]
     [%# Cope with legacy calling convention, where "error" was the string
index 33b3775748d800dc046d345ae17924949538d5e1..808aebf405d4cb7ff2d4fba5912d0dc88903ec64 100755 (executable)
@@ -395,8 +395,7 @@ SWITCH: for ($current_tab_name) {
         DoPermissions();
         last SWITCH;
     };
-    ThrowUserError("Unknown tab <code>" . html_quote($current_tab_name)
-                   . "</code>");
+    ThrowUserError("current_tab_name");
 }
 
 # Generate and return the UI (HTML page) from the appropriate template.