summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla')
-rw-r--r--Bugzilla/Bug.pm14
-rw-r--r--Bugzilla/Hook.pm32
2 files changed, 44 insertions, 2 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 444858bd1..57ba68ac2 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -72,7 +72,9 @@ sub DB_COLUMNS {
my @custom = grep {$_->type != FIELD_TYPE_MULTI_SELECT}
Bugzilla->active_custom_fields;
my @custom_names = map {$_->name} @custom;
- return qw(
+
+ my @columns =
+ qw(
alias
assigned_to
bug_file_loc
@@ -101,6 +103,10 @@ sub DB_COLUMNS {
$dbh->sql_date_format('creation_ts', '%Y.%m.%d %H:%i') . ' AS creation_ts',
$dbh->sql_date_format('deadline', '%Y-%m-%d') . ' AS deadline',
@custom_names;
+
+ Bugzilla::Hook::process("bug-columns", {'columns' => \@columns} );
+
+ return @columns;
}
use constant REQUIRED_CREATE_FIELDS => qw(
@@ -1645,7 +1651,8 @@ sub _check_select_field {
sub fields {
my $class = shift;
- return (
+ my @fields =
+ (
# Standard Fields
# Keep this ordering in sync with bugzilla.dtd.
qw(bug_id alias creation_ts short_desc delta_ts
@@ -1664,6 +1671,9 @@ sub fields {
# Custom Fields
map { $_->name } Bugzilla->active_custom_fields
);
+ Bugzilla::Hook::process("bug-fields", {'fields' => \@fields} );
+
+ return @fields;
}
#####################################################################
diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm
index b51f730bf..4d4a52495 100644
--- a/Bugzilla/Hook.pm
+++ b/Bugzilla/Hook.pm
@@ -207,6 +207,21 @@ This works just like L</auth-login_methods> except it's for
login verification methods (See L<Bugzilla::Auth::Verify>.) It also
takes a C<modules> parameter, just like L</auth-login_methods>.
+=head2 bug-columns
+
+This allows you to add new fields that will show up in every L<Bugzilla::Bug>
+object. Note that you will also need to use the L</bug-fields> hook in
+conjunction with this hook to make this work.
+
+Params:
+
+=over
+
+=item C<columns> - An arrayref containing an array of column names. Push
+your column name(s) onto the array.
+
+=back
+
=head2 bug-end_of_update
This happens at the end of L<Bugzilla::Bug/update>, after all other changes are
@@ -226,6 +241,23 @@ C<$changes-E<gt>{field} = [old, new]>
=back
+=head2 bug-fields
+
+Allows the addition of database fields from the bugs table to the standard
+list of allowable fields in a L<Bugzilla::Bug> object, so that
+you can call the field as a method.
+
+Note: You should add here the names of any fields you added in L</bug-columns>.
+
+Params:
+
+=over
+
+=item C<columns> - A arrayref containing an array of column names. Push
+your column name(s) onto the array.
+
+=back
+
=head2 buglist-columns
This happens in buglist.cgi after the standard columns have been defined and