summaryrefslogtreecommitdiffstats
path: root/extensions/BugmailFilter/Extension.pm
diff options
context:
space:
mode:
authorByron Jones <glob@mozilla.com>2014-09-24 05:55:03 +0200
committerByron Jones <glob@mozilla.com>2014-09-24 05:55:03 +0200
commit550d53cc7bc2ed66fd40ab6a276d9f65c6ac7278 (patch)
treeae891d282273c5fdc1ba6e3ba10aedd703990c86 /extensions/BugmailFilter/Extension.pm
parent84c12dd98e2a4d60fbaab685831e7bc48e83b082 (diff)
downloadbugzilla-550d53cc7bc2ed66fd40ab6a276d9f65c6ac7278.tar.gz
bugzilla-550d53cc7bc2ed66fd40ab6a276d9f65c6ac7278.tar.xz
Bug 1054141: add the ability to filter on the user that made the change
Diffstat (limited to 'extensions/BugmailFilter/Extension.pm')
-rw-r--r--extensions/BugmailFilter/Extension.pm15
1 files changed, 13 insertions, 2 deletions
diff --git a/extensions/BugmailFilter/Extension.pm b/extensions/BugmailFilter/Extension.pm
index f645d03ac..ebfc1f851 100644
--- a/extensions/BugmailFilter/Extension.pm
+++ b/extensions/BugmailFilter/Extension.pm
@@ -49,6 +49,16 @@ sub user_preferences {
$params->{field_name} = '~' . $input->{field_contains};
}
$params->{relationship} = $input->{relationship} || IS_NULL;
+ if ($input->{changer}) {
+ Bugzilla::User::match_field({ changer => { type => 'single'} });
+ $params->{changer_id} = Bugzilla::User->check({
+ name => $input->{changer},
+ cache => 1,
+ })->id;
+ }
+ else {
+ $params->{changer_id} = IS_NULL;
+ }
if (my $product_name = $input->{product}) {
my $product = Bugzilla::Product->check({
name => $product_name, cache => 1
@@ -57,7 +67,7 @@ sub user_preferences {
if (my $component_name = $input->{component}) {
$params->{component_id} = Bugzilla::Component->check({
- name => $component_name, product => $product,
+ name => $component_name, product => $product,
cache => 1
})->id;
}
@@ -268,7 +278,7 @@ sub _should_drop {
# calculate relationships
- my ($user, $bug, $relationship) = @$args{qw( user bug relationship )};
+ my ($user, $bug, $relationship, $changer) = @$args{qw( user bug relationship changer )};
my ($user_id, $login) = ($user->id, $user->login);
my $bit_direct = Bugzilla::BugMail::BIT_DIRECT;
my $bit_watching = Bugzilla::BugMail::BIT_WATCHING;
@@ -306,6 +316,7 @@ sub _should_drop {
product_id => $bug->product_id,
component_id => $bug->component_id,
rel_map => \@rel_map,
+ changer_id => $changer->id,
};
foreach my $field (@$fields) {