diff options
author | Byron Jones <bjones@mozilla.com> | 2012-07-24 10:54:01 +0200 |
---|---|---|
committer | Byron Jones <bjones@mozilla.com> | 2012-07-24 10:54:01 +0200 |
commit | cfd67484c07a29617c3e35e03b90bdd3befc6dd7 (patch) | |
tree | afa8c64e2f79ddf156101a69758a907d49c42362 /extensions/BMO/Extension.pm | |
parent | d60fcb5fdf1e208c46b807c4e91e05eb65307243 (diff) | |
download | bugzilla-cfd67484c07a29617c3e35e03b90bdd3befc6dd7.tar.gz bugzilla-cfd67484c07a29617c3e35e03b90bdd3befc6dd7.tar.xz |
Bug 772776: add a "visiblity group" for the partner-confidential group
Diffstat (limited to 'extensions/BMO/Extension.pm')
-rw-r--r-- | extensions/BMO/Extension.pm | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/extensions/BMO/Extension.pm b/extensions/BMO/Extension.pm index b382e240d..d0c392cf0 100644 --- a/extensions/BMO/Extension.pm +++ b/extensions/BMO/Extension.pm @@ -47,13 +47,14 @@ use Bugzilla::Extension::BMO::Data qw($cf_visible_in_products $cf_flags $cf_project_flags $cf_disabled_flags - %group_to_cc_map + %group_change_notification $blocking_trusted_setters $blocking_trusted_requesters $status_trusted_wanters $status_trusted_setters $other_setters %always_fileable_group + %group_auto_cc %product_sec_groups); use Bugzilla::Extension::BMO::Reports qw(user_activity_report triage_reports @@ -349,8 +350,8 @@ sub _cc_if_special_group { return if !$group; - if (exists $group_to_cc_map{$group}) { - foreach my $login (@{ $group_to_cc_map{$group} }) { + if (exists $group_change_notification{$group}) { + foreach my $login (@{ $group_change_notification{$group} }) { my $id = login_to_id($login); $recipients->{$id}->{+REL_CC} = Bugzilla::BugMail::BIT_DIRECT(); } @@ -654,6 +655,23 @@ sub object_end_of_create_validators { } } +# Automatically CC users to bugs based on group & product +sub bug_end_of_create { + my ($self, $args) = @_; + my $bug = $args->{'bug'}; + + foreach my $group_name (keys %group_auto_cc) { + if ($bug->in_group(Bugzilla::Group->new({ name => $group_name }))) { + my $ra_logins = exists $group_auto_cc{$group_name}->{$bug->product} + ? $group_auto_cc{$group_name}->{$bug->product} + : $group_auto_cc{$group_name}->{'_default'}; + foreach my $login (@$ra_logins) { + $bug->add_cc($login); + } + } + } +} + sub install_before_final_checks { my ($self, $args) = @_; |