summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/Bug.pm3
-rw-r--r--Bugzilla/Hook.pm15
-rw-r--r--extensions/example/code/bug-end_of_create_validators.pl37
3 files changed, 55 insertions, 0 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 9af8b1e8c..c27f23823 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -613,6 +613,9 @@ sub run_create_validators {
delete $params->{lastdiffed};
delete $params->{bug_id};
+ Bugzilla::Hook::process('bug-end_of_create_validators',
+ { params => $params });
+
return $params;
}
diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm
index b1feea138..b98fc95d7 100644
--- a/Bugzilla/Hook.pm
+++ b/Bugzilla/Hook.pm
@@ -280,6 +280,21 @@ values.
=back
+=head2 bug-end_of_create_validators
+
+This happens during L<Bugzilla::Bug/create>, after all parameters have
+been validated, but before anything has been inserted into the database.
+
+Params:
+
+=over
+
+=item C<params>
+
+A hashref. The validated parameters passed to C<create>.
+
+=back
+
=head2 bug-end_of_update
This happens at the end of L<Bugzilla::Bug/update>, after all other changes are
diff --git a/extensions/example/code/bug-end_of_create_validators.pl b/extensions/example/code/bug-end_of_create_validators.pl
new file mode 100644
index 000000000..95d64ae85
--- /dev/null
+++ b/extensions/example/code/bug-end_of_create_validators.pl
@@ -0,0 +1,37 @@
+# -*- 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 ITA Software
+# Portions created by the Initial Developer are Copyright (C) 2009
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+# Max Kanat-Alexander <mkanat@bugzilla.org>
+
+use strict;
+use warnings;
+use Bugzilla;
+use Data::Dumper;
+
+# This code doesn't actually *do* anything, it's just here to show you
+# how to use this hook.
+my $params = Bugzilla->hook_args->{'params'};
+
+# Uncomment this line below to see a line in your webserver's error log
+# containing all validated bug field values every time you file a bug.
+# warn Dumper($params);
+
+# This would remove all ccs from the bug, preventing ANY ccs from being
+# added on bug creation.
+# $params->{cc} = [];