diff options
author | Perl Tidy <perltidy@bugzilla.org> | 2018-12-05 21:38:52 +0100 |
---|---|---|
committer | Dylan William Hardison <dylan@hardison.net> | 2018-12-05 23:49:08 +0100 |
commit | 8ec8da0491ad89604700b3e29a227966f6d84ba1 (patch) | |
tree | 9d270f173330ca19700e0ba9f2ee931300646de1 /scripts/remove_idle_group_members.pl | |
parent | a7bb5a65b71644d9efce5fed783ed545b9336548 (diff) | |
download | bugzilla-8ec8da0491ad89604700b3e29a227966f6d84ba1.tar.gz bugzilla-8ec8da0491ad89604700b3e29a227966f6d84ba1.tar.xz |
no bug - reformat all the code using the new perltidy rules
Diffstat (limited to 'scripts/remove_idle_group_members.pl')
-rwxr-xr-x | scripts/remove_idle_group_members.pl | 141 |
1 files changed, 71 insertions, 70 deletions
diff --git a/scripts/remove_idle_group_members.pl b/scripts/remove_idle_group_members.pl index e4ef88bc1..02274d10f 100755 --- a/scripts/remove_idle_group_members.pl +++ b/scripts/remove_idle_group_members.pl @@ -29,12 +29,12 @@ Bugzilla->usage_mode(USAGE_MODE_CMDLINE); my $dbh = Bugzilla->dbh; # Record any changes as made by the automation user -my $auto_user = Bugzilla::User->check({ name => 'automation@bmo.tld' }); +my $auto_user = Bugzilla::User->check({name => 'automation@bmo.tld'}); # This ignores things that end with "bugs" or ".tld", just like # Bugzilla/BugMail.pm sub Send() my $expired = $dbh->selectall_arrayref( - q{SELECT DISTINCT profiles.userid AS user_id, + q{SELECT DISTINCT profiles.userid AS user_id, groups.id AS group_id FROM profiles JOIN user_group_map ON profiles.userid = user_group_map.user_id JOIN groups ON user_group_map.group_id = groups.id @@ -44,92 +44,93 @@ my $expired = $dbh->selectall_arrayref( AND groups.idle_member_removal > 0 AND (profiles.last_seen_date IS NULL OR TO_DAYS(LOCALTIMESTAMP(0)) - TO_DAYS(profiles.last_seen_date) > groups.idle_member_removal) - ORDER BY profiles.login_name}, - { Slice => {} }, GRANT_DIRECT + ORDER BY profiles.login_name}, {Slice => {}}, GRANT_DIRECT ); exit(0) if !@$expired; my %remove_data = (); foreach my $data (@$expired) { - $remove_data{$data->{group_id}} ||= []; - push(@{ $remove_data{$data->{group_id}} }, $data->{user_id}); + $remove_data{$data->{group_id}} ||= []; + push(@{$remove_data{$data->{group_id}}}, $data->{user_id}); } # 1. Remove users from the group # 2. $user->update will add audit log and profile_activity entries # 3. Send email to group owner showing users removed foreach my $group_id (keys %remove_data) { - my $group = Bugzilla::Group->new({ id => $group_id, cache => 1 }); + my $group = Bugzilla::Group->new({id => $group_id, cache => 1}); - $dbh->bz_start_transaction(); + $dbh->bz_start_transaction(); - my @users_removed = (); - foreach my $user_id (@{ $remove_data{$group->id} }) { - my $user = Bugzilla::User->new({ id => $user_id, cache => 1 }); - Bugzilla->set_user(Bugzilla::User->super_user); - $user->set_groups({ remove => [ $group->name ] }); - $user->set_bless_groups({ remove => [ $group->name ] }); - Bugzilla->set_user($auto_user); - $user->update(); - push(@users_removed, $user); - } + my @users_removed = (); + foreach my $user_id (@{$remove_data{$group->id}}) { + my $user = Bugzilla::User->new({id => $user_id, cache => 1}); + Bugzilla->set_user(Bugzilla::User->super_user); + $user->set_groups({remove => [$group->name]}); + $user->set_bless_groups({remove => [$group->name]}); + Bugzilla->set_user($auto_user); + $user->update(); + push(@users_removed, $user); + } - $dbh->bz_commit_transaction(); + $dbh->bz_commit_transaction(); - # nobody@mozilla.org cannot recieve email - next if $group->owner->login eq Bugzilla->params->{'nobody_user'}; + # nobody@mozilla.org cannot recieve email + next if $group->owner->login eq Bugzilla->params->{'nobody_user'}; - _send_email($group, \@users_removed); + _send_email($group, \@users_removed); } sub _send_email { - my ($group, $users) = @_; - - my $template = Bugzilla->template_inner($group->owner->setting('lang')); - my $vars = { group => $group, users => $users }; - - my ($header, $text); - $template->process("admin/groups/email/idle-member-removal-header.txt.tmpl", $vars, \$header) - || ThrowTemplateError($template->error()); - $header .= "\n"; - $template->process("admin/groups/email/idle-member-removal.txt.tmpl", $vars, \$text) - || ThrowTemplateError($template->error()); - - my @parts = ( - Email::MIME->create( - attributes => { - content_type => 'text/plain', - charset => 'UTF-8', - encoding => 'quoted-printable', - }, - body_str => $text, - ) - ); - - if ($group->owner->setting('email_format') eq 'html') { - my $html; - $template->process("admin/groups/email/idle-member-removal.html.tmpl", $vars, \$html) - || ThrowTemplateError($template->error()); - push @parts, Email::MIME->create( - attributes => { - content_type => 'text/html', - charset => 'UTF-8', - encoding => 'quoted-printable', - }, - body_str => $html, - ); - } - - my $email = Email::MIME->new($header); - $email->header_set('X-Generated-By' => hostname()); - if (scalar(@parts) == 1) { - $email->content_type_set($parts[0]->content_type); - } - else { - $email->content_type_set('multipart/alternative'); - } - $email->parts_set(\@parts); - - MessageToMTA($email); + my ($group, $users) = @_; + + my $template = Bugzilla->template_inner($group->owner->setting('lang')); + my $vars = {group => $group, users => $users}; + + my ($header, $text); + $template->process("admin/groups/email/idle-member-removal-header.txt.tmpl", + $vars, \$header) + || ThrowTemplateError($template->error()); + $header .= "\n"; + $template->process("admin/groups/email/idle-member-removal.txt.tmpl", + $vars, \$text) + || ThrowTemplateError($template->error()); + + my @parts = (Email::MIME->create( + attributes => { + content_type => 'text/plain', + charset => 'UTF-8', + encoding => 'quoted-printable', + }, + body_str => $text, + )); + + if ($group->owner->setting('email_format') eq 'html') { + my $html; + $template->process("admin/groups/email/idle-member-removal.html.tmpl", + $vars, \$html) + || ThrowTemplateError($template->error()); + push @parts, + Email::MIME->create( + attributes => { + content_type => 'text/html', + charset => 'UTF-8', + encoding => 'quoted-printable', + }, + body_str => $html, + ); + } + + my $email = Email::MIME->new($header); + $email->header_set('X-Generated-By' => hostname()); + if (scalar(@parts) == 1) { + $email->content_type_set($parts[0]->content_type); + } + else { + $email->content_type_set('multipart/alternative'); + } + $email->parts_set(\@parts); + + MessageToMTA($email); } |