diff options
author | Dave Lawrence <dlawrence@mozilla.com> | 2012-12-18 21:17:52 +0100 |
---|---|---|
committer | Dave Lawrence <dlawrence@mozilla.com> | 2012-12-18 21:17:52 +0100 |
commit | e068bcc76fe842fbcac8249ed29593f8a17b0c24 (patch) | |
tree | a1cef9f8fddee1fd7462fd4b79357029e9ecab6f /extensions/Example | |
parent | 64e21e0be7743a07841682c69f062b962550048e (diff) | |
download | bugzilla-e068bcc76fe842fbcac8249ed29593f8a17b0c24.tar.gz bugzilla-e068bcc76fe842fbcac8249ed29593f8a17b0c24.tar.xz |
Bug 813628 - New extension hook for Bugzilla::Bug::update called bug_start_of_update
r/a=LpSolit
Diffstat (limited to 'extensions/Example')
-rw-r--r-- | extensions/Example/Extension.pm | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/extensions/Example/Extension.pm b/extensions/Example/Extension.pm index 6b85ace42..76e866b3c 100644 --- a/extensions/Example/Extension.pm +++ b/extensions/Example/Extension.pm @@ -153,6 +153,42 @@ sub bug_end_of_create_validators { # $bug_params->{cc} = []; } +sub bug_start_of_update { + my ($self, $args) = @_; + + # This code doesn't actually *do* anything, it's just here to show you + # how to use this hook. + my ($bug, $old_bug, $timestamp, $changes) = + @$args{qw(bug old_bug timestamp changes)}; + + foreach my $field (keys %$changes) { + my $used_to_be = $changes->{$field}->[0]; + my $now_it_is = $changes->{$field}->[1]; + } + + my $old_summary = $old_bug->short_desc; + + my $status_message; + if (my $status_change = $changes->{'bug_status'}) { + my $old_status = new Bugzilla::Status({ name => $status_change->[0] }); + my $new_status = new Bugzilla::Status({ name => $status_change->[1] }); + if ($new_status->is_open && !$old_status->is_open) { + $status_message = "Bug re-opened!"; + } + if (!$new_status->is_open && $old_status->is_open) { + $status_message = "Bug closed!"; + } + } + + my $bug_id = $bug->id; + my $num_changes = scalar keys %$changes; + my $result = "There were $num_changes changes to fields on bug $bug_id" + . " at $timestamp."; + # Uncomment this line to see $result in your webserver's error log whenever + # you update a bug. + # warn $result; +} + sub bug_end_of_update { my ($self, $args) = @_; |