From 4d17d8c23a258aa43218a000bba9c917b9472232 Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Thu, 12 Jan 2012 13:54:26 +0800 Subject: Bug 715424: add report showing emails in TheSchwartz's queue --- extensions/BMO/lib/Reports.pm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'extensions/BMO/lib/Reports.pm') diff --git a/extensions/BMO/lib/Reports.pm b/extensions/BMO/lib/Reports.pm index 7dcbc0ae6..aa7ca5690 100644 --- a/extensions/BMO/lib/Reports.pm +++ b/extensions/BMO/lib/Reports.pm @@ -32,7 +32,8 @@ use base qw(Exporter); our @EXPORT_OK = qw(user_activity_report triage_reports - group_admins); + group_admins + email_queue_report); sub user_activity_report { my ($vars) = @_; @@ -560,4 +561,28 @@ sub group_admins { $vars->{'groups'} = \@groups; } +sub email_queue_report { + my ($vars, $filter) = @_; + my $dbh = Bugzilla->dbh; + my $user = Bugzilla->user; + + $user->in_group('admin') + || ThrowUserError('auth_failure', { group => 'admin', + action => 'run', + object => 'email_queue' }); + + my $query = " + SELECT j.jobid, + j.run_after AS timestamp, + COUNT(e.jobid) AS error_count, + MAX(e.error_time) AS error_time, + e.message AS error_message + FROM ts_job j + LEFT JOIN ts_error e ON e.jobid = j.jobid + GROUP BY j.jobid + ORDER BY j.run_after"; + + $vars->{'jobs'} = $dbh->selectall_arrayref($query, { Slice => {} }); +} + 1; -- cgit v1.2.3-24-g4f1b