From d97a8e06d0430028f411e15b603b34b717934535 Mon Sep 17 00:00:00 2001 From: "mkanat%bugzilla.org" <> Date: Sat, 28 Jun 2008 23:04:40 +0000 Subject: Bug 437003 – Add hook to buglist.cgi to add columns to bug list Patch By Elliotte Martin r=mkanat, a=mkanat MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bugzilla/Hook.pm | 32 +++++++++++++++++++++++++++++- buglist.cgi | 2 ++ extensions/example/code/buglist-columns.pl | 26 ++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 extensions/example/code/buglist-columns.pl diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm index 820693ee0..1b4a5ad32 100644 --- a/Bugzilla/Hook.pm +++ b/Bugzilla/Hook.pm @@ -166,7 +166,37 @@ They will be accessible to the hook via L. =head1 HOOKS -This describes what hooks exist in Bugzilla currently. +This describes what hooks exist in Bugzilla currently. They are mostly +in alphabetical order, but some related hooks are near each other instead +of being alphabetical. + +=head2 buglist-columns + +This happens in buglist.cgi after the standard columns have been defined and +right before the display column determination. It gives you the opportunity +to add additional display columns. + +Params: + +=over + +=item C - A hashref, where the keys are unique string identifiers +for the column being defined and the values are hashrefs with the +following fields: + +=over + +=item C - The name of the column in the database. + +=item C - The title of the column as displayed to users. + +=back + +The definition is structured as: + + $columns->{$id} = { name => $name, title => $title }; + +=back =head2 enter_bug-entrydefaultvars diff --git a/buglist.cgi b/buglist.cgi index 0cf659c3d..1ae9f84a7 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -689,6 +689,8 @@ foreach my $field (Bugzilla->active_custom_fields) { DefineColumn($field->name, 'bugs.' . $field->name, $field->description); } +Bugzilla::Hook::process("buglist-columns", {'columns' => $columns} ); + ################################################################################ # Display Column Determination ################################################################################ diff --git a/extensions/example/code/buglist-columns.pl b/extensions/example/code/buglist-columns.pl new file mode 100644 index 000000000..4487b2dc8 --- /dev/null +++ b/extensions/example/code/buglist-columns.pl @@ -0,0 +1,26 @@ +# -*- 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 Example Plugin. +# +# The Initial Developer of the Original Code is Canonical Ltd. +# Portions created by Canonical Ltd. are Copyright (C) 2008 +# Canonical Ltd. All Rights Reserved. +# +# Contributor(s): Elliotte Martin <elliotte_martin@yahoo.com> + +use strict; +use warnings; +use Bugzilla; + +my $columns = Bugzilla->hook_args->{'columns'}; +$columns->{'example'} = { 'name' => 'bugs.delta_ts' , 'title' => 'Example' }; -- cgit v1.2.3-24-g4f1b