]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 306757: Templatize the 'new' section of editproducts.cgi - Patch by Gabriel Sales...
authorlpsolit%gmail.com <>
Mon, 12 Sep 2005 20:50:41 +0000 (20:50 +0000)
committerlpsolit%gmail.com <>
Mon, 12 Sep 2005 20:50:41 +0000 (20:50 +0000)
editproducts.cgi
template/en/default/admin/products/created.html.tmpl [new file with mode: 0644]
template/en/default/global/user-error.html.tmpl

index 46a2a2bad5bdd6ac5c816e163fe47f2fdb6265a9..1197264c4ac830c2e1b31f39ee22ae2a87dde8c5 100755 (executable)
@@ -377,21 +377,18 @@ if ($action eq 'add') {
 #
 
 if ($action eq 'new') {
-    $template->put_header("Adding new product");
 
     # Cleanups and validity checks
 
     my $classification_id = 1;
     if (Param('useclassification')) {
-        CheckClassification($classification);
+        CheckClassificationNew($classification);
         $classification_id = get_classification_id($classification);
+        $vars->{'classification'} = $classification;
     }
 
     unless ($product) {
-        print "You must enter a name for the new product. Please press\n";
-        print "<b>Back</b> and try again.\n";
-        PutTrailer($localtrailer);
-        exit;
+        ThrowUserError("product_blank_name");  
     }
 
     my $existing_product = TestProduct($product);
@@ -400,29 +397,23 @@ if ($action eq 'new') {
 
         # Check for exact case sensitive match:
         if ($existing_product eq $product) {
-            print "The product '$product' already exists. Please press\n";
-            print "<b>Back</b> and try again.\n";
-            PutTrailer($localtrailer);
-            exit;
+            ThrowUserError("prod_name_already_in_use",
+                           {'product' => $product});
         }
 
         # Next check for a case-insensitive match:
         if (lc($existing_product) eq lc($product)) {
-            print "The new product '$product' differs from existing product ";
-            print "'$existing_product' only in case. Please press\n";
-            print "<b>Back</b> and try again.\n";
-            PutTrailer($localtrailer);
-            exit;
+            ThrowUserError("prod_name_diff_in_case",
+                           {'product' => $product,
+                            'existing_product' => $existing_product}); 
         }
     }
 
     my $version = trim($cgi->param('version') || '');
 
     if ($version eq '') {
-        print "You must enter a version for product '$product'. Please press\n";
-        print "<b>Back</b> and try again.\n";
-        PutTrailer($localtrailer);
-        exit;
+        ThrowUserError("product_must_have_version",
+                       {'product' => $product});
     }
 
     my $description  = trim($cgi->param('description')  || '');
@@ -542,21 +533,12 @@ if ($action eq 'new') {
     # Make versioncache flush
     unlink "$datadir/versioncache";
 
-    print "OK, done.<p>\n";
-    print "<div style='border: 1px red solid; padding: 1ex;'><b>You will need to    
-           <a href=\"editcomponents.cgi?action=add&product=" .
-           url_quote($product) . "\">add at least one 
-           component</a> before you can enter bugs against this product.</b></div>";
-    PutTrailer($localtrailer,
-        "<a href=\"editproducts.cgi?action=add\">add</a> a new product",
-        "<a href=\"editcomponents.cgi?action=add&product=" .
-        url_quote($product) . $classhtmlvar .
-        "\">add</a> components to this new product");
+    $vars->{'product'} = $product;
+    $template->process("admin/products/created.html.tmpl", $vars)
+        || ThrowTemplateError($template->error());
     exit;
 }
 
-
-
 #
 # action='del' -> ask if user really wants to delete
 #
diff --git a/template/en/default/admin/products/created.html.tmpl b/template/en/default/admin/products/created.html.tmpl
new file mode 100644 (file)
index 0000000..e4229f8
--- /dev/null
@@ -0,0 +1,31 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+  # License Version 1.1 (the "License"); you may not use this file
+  # except in compliance with the License. You may obtain a copy of
+  # the License at http://www.mozilla.org/MPL/
+  #
+  # Software distributed under the License is distributed on an "AS
+  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+  # implied. See the License for the specific language governing
+  # rights and limitations under the License.
+  #
+  # The Original Code is the Bugzilla Bug Tracking System.
+  #
+  # Contributor(s): Gabriel S. Oliveira <gabriel@async.com.br>
+  #%]
+
+[% PROCESS global/header.html.tmpl 
+  title = 'New Product Created'
+%]
+<br>
+<div style='border: 1px red solid; padding: 1ex;'>
+  <b>You will need to   
+   <a href="editcomponents.cgi?action=add&product=[% product FILTER url_quote %]">
+     add at least one component
+   </a> before you can enter [% terms.bugs %] against this product
+  </b>
+</div>
+
+[% PROCESS "admin/products/footer.html.tmpl" name = product %]
+
+[% PROCESS global/footer.html.tmpl %]
index be6108e8165ff38556697a163ed24f223ef0b764..b77e58d1619c0ac4d1e77d85fc220e0aad933e6a 100644 (file)
   [% ELSIF error == "prod_name_already_in_use" %]
     [% title = "Product name already in use" %]
     The product name '[% product FILTER html %]' is already in use.
+  
+  [% ELSIF error == "prod_name_diff_in_case" %]
+    [% title = "Product name differs only in case" %]
+    The product name '[% product FILTER html %]' differs from existing 
+    product '[% existing_product FILTER html %]' only in case.
 
   [% ELSIF error == "prod_must_define_defaultmilestone" %]
     [% title = "Must define new default milestone" %]
     create the milestone '[% defaultmilestone FILTER html %]'</a> before
     it can be made the default milestone for product '[% product FILTER html %]'.
 
+  [% ELSIF error == "product_blank_name" %]
+    [% title = "Blank Product Name Not Allowed" %]
+    You must enter a name for the new product.
+  
   [% ELSIF error == "product_disabled" %]
     [% title = BLOCK %]Product closed for [% terms.Bugs %] Entry[% END %]
     Sorry, entering [% terms.bugs %] into the
     You must reassign those [% terms.bugs %] to another product before you
     can delete this one.
 
+  [% ELSIF error == "product_must_have_version" %]
+    [% title = "Product needs version" %]
+    You must enter a version for product '[% product FILTER html %]'.
+
   [% ELSIF error == "product_not_specified" %]
     [% title = "No Product Specified" %]
     No product specified when trying to edit components, milestones, versions