From f8e82d8447f1e1e51ec32c928d0a7c19b2d91d23 Mon Sep 17 00:00:00 2001 From: "ghendricks%novell.com" <> Date: Thu, 18 Dec 2008 17:18:18 +0000 Subject: Bug 419748 - Need to hook deleting products patch by ghendricks@novell.com r=mkanat a=mkanat --- Bugzilla/Hook.pm | 12 ++++++++++ editproducts.cgi | 4 +++- extensions/example/code/products-confirm_delete.pl | 26 ++++++++++++++++++++++ .../admin/products/confirm-delete.html.tmpl | 2 ++ 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 extensions/example/code/products-confirm_delete.pl 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 - 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 + +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') %]

Do you really want to delete this product?

-- cgit v1.2.3-24-g4f1b