summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorghendricks%novell.com <>2008-12-18 18:18:18 +0100
committerghendricks%novell.com <>2008-12-18 18:18:18 +0100
commitf8e82d8447f1e1e51ec32c928d0a7c19b2d91d23 (patch)
tree09a69b7e734d4e5ddf78572e916093ee6272ee93
parentf8a27359f31b44a6d93011a9ddd48261fd96d3b4 (diff)
downloadbugzilla-f8e82d8447f1e1e51ec32c928d0a7c19b2d91d23.tar.gz
bugzilla-f8e82d8447f1e1e51ec32c928d0a7c19b2d91d23.tar.xz
Bug 419748 - Need to hook deleting products
patch by ghendricks@novell.com r=mkanat a=mkanat
-rw-r--r--Bugzilla/Hook.pm12
-rwxr-xr-xeditproducts.cgi4
-rw-r--r--extensions/example/code/products-confirm_delete.pl26
-rw-r--r--template/en/default/admin/products/confirm-delete.html.tmpl2
4 files changed, 43 insertions, 1 deletions
diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm
index a4436392b..a0b14eaa5 100644
--- a/Bugzilla/Hook.pm
+++ b/Bugzilla/Hook.pm
@@ -462,6 +462,18 @@ Params:
=back
+=head2 product-confirm_delete
+
+Called before displaying the confirmation message when deleting a product.
+
+Params:
+
+=over
+
+=item C<vars> - The template vars hashref.
+
+=back
+
=head2 webservice
This hook allows you to add your own modules to the WebService. (See
diff --git a/editproducts.cgi b/editproducts.cgi
index fcca94838..01b497628 100755
--- a/editproducts.cgi
+++ b/editproducts.cgi
@@ -210,7 +210,9 @@ if ($action eq 'del') {
}
$vars->{'product'} = $product;
$vars->{'token'} = issue_session_token('delete_product');
-
+
+ Bugzilla::Hook::process("product-confirm_delete", { vars => $vars });
+
$template->process("admin/products/confirm-delete.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
exit;
diff --git a/extensions/example/code/products-confirm_delete.pl b/extensions/example/code/products-confirm_delete.pl
new file mode 100644
index 000000000..d961dfaa7
--- /dev/null
+++ b/extensions/example/code/products-confirm_delete.pl
@@ -0,0 +1,26 @@
+#!/usr/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# 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 Testopia System.
+#
+# The Initial Developer of the Original Code is Greg Hendricks.
+# Portions created by Greg Hendricks are Copyright (C) 2008
+# Novell. All Rights Reserved.
+#
+# Contributor(s): Greg Hendricks <ghendricks@novell.com>
+
+use strict;
+
+my $vars = Bugzilla->hook_args->{vars};
+
+$vars->{'example'} = 1 \ No newline at end of file
diff --git a/template/en/default/admin/products/confirm-delete.html.tmpl b/template/en/default/admin/products/confirm-delete.html.tmpl
index 43ebf8a81..516672142 100644
--- a/template/en/default/admin/products/confirm-delete.html.tmpl
+++ b/template/en/default/admin/products/confirm-delete.html.tmpl
@@ -241,6 +241,8 @@
[% END %]
+[% Hook.process("confirmation") %]
+
[% IF product.bug_count == 0 || Param('allowbugdeletion') %]
<p>Do you really want to delete this product?</p>