From: ghendricks%novell.com <> Date: Thu, 18 Dec 2008 17:19:26 +0000 (+0000) Subject: Bug 419748 - Need to hook deleting products X-Git-Tag: bugzilla-3.2.1~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f62b56d16ab140c964717515e34fcb93997dac2b;p=thirdparty%2Fbugzilla.git Bug 419748 - Need to hook deleting products patch by ghendricks@novell.com r=mkanat a=mkanat --- diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm index 32bbfd7f1a..de33cf5812 100644 --- a/Bugzilla/Hook.pm +++ b/Bugzilla/Hook.pm @@ -336,6 +336,18 @@ database when run. =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 1686bd4908..cb451b0657 100755 --- a/editproducts.cgi +++ b/editproducts.cgi @@ -370,7 +370,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 0000000000..1f4c3740ee --- /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 diff --git a/template/en/default/admin/products/confirm-delete.html.tmpl b/template/en/default/admin/products/confirm-delete.html.tmpl index 7667d70e5e..e5e982b1ea 100644 --- a/template/en/default/admin/products/confirm-delete.html.tmpl +++ b/template/en/default/admin/products/confirm-delete.html.tmpl @@ -255,6 +255,8 @@ [% END %] +[% Hook.process("confirmation") %] + [% IF product.bug_count == 0 || Param('allowbugdeletion') %]

Do you really want to delete this product?