]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 437003 รข\80\93 Add hook to buglist.cgi to add columns to bug list
authormkanat%bugzilla.org <>
Sat, 28 Jun 2008 23:09:17 +0000 (23:09 +0000)
committermkanat%bugzilla.org <>
Sat, 28 Jun 2008 23:09:17 +0000 (23:09 +0000)
Patch By Elliotte Martin <elliotte_martin@yahoo.com> r=mkanat, a=mkanat

Bugzilla/Hook.pm
buglist.cgi
extensions/example/code/buglist-columns.pl [new file with mode: 0644]

index 820693ee026bd49c4a5ef8675d4a98ae28f88edc..1b4a5ad32c11812664274d6e35f287c195b84fdd 100644 (file)
@@ -166,7 +166,37 @@ They will be accessible to the hook via L<Bugzilla/hook_args>.
 
 =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<columns> - 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<name> - The name of the column in the database.
+
+=item C<title> - 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
 
index 0cf659c3dcf15d8831432ae1bd6f2a3009f16655..1ae9f84a78f41f9ca5212018a03bea22fb6fb627 100755 (executable)
@@ -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 (file)
index 0000000..4487b2d
--- /dev/null
@@ -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' };