summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/Hook.pm32
-rwxr-xr-xbuglist.cgi2
-rw-r--r--extensions/example/code/buglist-columns.pl26
3 files changed, 59 insertions, 1 deletions
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<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
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' };