diff options
Diffstat (limited to 'extensions/RequestWhiner')
8 files changed, 0 insertions, 371 deletions
diff --git a/extensions/RequestWhiner/Config.pm b/extensions/RequestWhiner/Config.pm deleted file mode 100644 index fb08bd7af..000000000 --- a/extensions/RequestWhiner/Config.pm +++ /dev/null @@ -1,33 +0,0 @@ -# -*- Mode: perl; indent-tabs-mode: nil -*- -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the RequestWhiner Bugzilla Extension. -# -# The Initial Developer of the Original Code is Gervase Markham -# Portions created by the Initial Developer are Copyright (C) 2011 the -# Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Gervase Markham <written.to.the.glory.of.god@gerv.net> - -package Bugzilla::Extension::RequestWhiner; -use strict; - -use constant NAME => 'RequestWhiner'; - -use constant REQUIRED_MODULES => [ -]; - -use constant OPTIONAL_MODULES => [ -]; - -__PACKAGE__->NAME;
\ No newline at end of file diff --git a/extensions/RequestWhiner/Extension.pm b/extensions/RequestWhiner/Extension.pm deleted file mode 100644 index 3f1ee1f27..000000000 --- a/extensions/RequestWhiner/Extension.pm +++ /dev/null @@ -1,43 +0,0 @@ -# -*- Mode: perl; indent-tabs-mode: nil -*- -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the RequestWhiner Bugzilla Extension. -# -# The Initial Developer of the Original Code is the Mozilla Foundation. -# Portions created by the Initial Developer are Copyright (C) 2011 the -# Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Gervase Markham <written.to.the.glory.of.god@gerv.net> - -package Bugzilla::Extension::RequestWhiner; -use strict; -use base qw(Bugzilla::Extension); - -use Bugzilla::Constants qw(bz_locations); -use Bugzilla::Install::Filesystem; - -our $VERSION = '0.01'; - -sub install_filesystem { - my ($self, $args) = @_; - my $files = $args->{'files'}; - - my $extensionsdir = bz_locations()->{'extensionsdir'}; - my $scriptname = $extensionsdir . "/" . __PACKAGE__->NAME . "/bin/whineatrequests.pl"; - - $files->{$scriptname} = { - perms => Bugzilla::Install::Filesystem::WS_EXECUTE - }; -} - -__PACKAGE__->NAME; diff --git a/extensions/RequestWhiner/bin/whineatrequests.pl b/extensions/RequestWhiner/bin/whineatrequests.pl deleted file mode 100755 index f7cb61dbb..000000000 --- a/extensions/RequestWhiner/bin/whineatrequests.pl +++ /dev/null @@ -1,155 +0,0 @@ -#!/usr/bin/perl -wT -# -*- Mode: perl; indent-tabs-mode: nil -*- -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Bugzilla Bug Tracking System. -# -# The Initial Developer of the Original Code is Netscape Communications -# Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): Erik Stambaugh <erik@dasbistro.com> -# Gervase Markham <gerv@gerv.net> - -use strict; - -BEGIN { - use lib qw(lib .); - use Bugzilla; - Bugzilla->extensions; -} - -use lib qw(. lib); - -use Bugzilla; -use Bugzilla::User; -use Bugzilla::Mailer; -use Email::MIME; - -use Bugzilla::Extension::RequestWhiner::Constants; - -my $dbh = Bugzilla->dbh; - -my $sth_get_requests = - $dbh->prepare("SELECT profiles.login_name, - flagtypes.name, - flags.attach_id, - bugs.bug_id, - bugs.short_desc, " . - $dbh->sql_to_days('NOW()') . - " - " . - $dbh->sql_to_days('flags.modification_date') . " - AS age_in_days - FROM flags - JOIN bugs ON bugs.bug_id = flags.bug_id, - flagtypes, - profiles - WHERE flags.status = '?' - AND flags.requestee_id = profiles.userid - AND flags.type_id = flagtypes.id - AND " . $dbh->sql_to_days('NOW()') . - " - " . - $dbh->sql_to_days('flags.modification_date') . - " > " . - WHINE_AFTER_DAYS . " - ORDER BY flags.modification_date"); - -$sth_get_requests->execute(); - -# Build data structure -my $requests = {}; - -while (my ($login_name, - $flag_name, - $attach_id, - $bug_id, - $short_desc, - $age_in_days) = $sth_get_requests->fetchrow_array()) -{ - if (!defined($requests->{$login_name})) { - $requests->{$login_name} = {}; - } - - if (!defined($requests->{$login_name}->{$flag_name})) { - $requests->{$login_name}->{$flag_name} = []; - } - - push(@{ $requests->{$login_name}->{$flag_name} }, { - bug_id => $bug_id, - attach_id => $attach_id, - summary => $short_desc, - age => $age_in_days - }); -} - -$sth_get_requests->finish(); - -foreach my $recipient (keys %$requests) { - my $user = new Bugzilla::User({ name => $recipient }); - - next if $user->email_disabled; - - mail({ - from => Bugzilla->params->{'mailfrom'}, - recipient => $user, - subject => "Your Outstanding Requests", - requests => $requests->{$recipient}, - threshold => WHINE_AFTER_DAYS - }); -} - -exit; - -############################################################################### -# Functions -# -# Note: this function is exactly the same as the one in whine.pl, just using -# different templates for the messages themselves. -############################################################################### -sub mail { - my $args = shift; - my $addressee = $args->{recipient}; - my $template = Bugzilla->template; - my ($content, @parts); - - $template->process("requestwhiner/mail.txt.tmpl", $args, \$content) - || die($template->error()); - push(@parts, Email::MIME->create( - attributes => { - content_type => "text/plain", - }, - body => $content, - )); - - $content = ''; - $template->process("requestwhiner/mail.html.tmpl", $args, \$content) - || die($template->error()); - - push(@parts, Email::MIME->create( - attributes => { - content_type => "text/html", - }, - body => $content, - )); - - $content = ''; - $template->process("requestwhiner/header.txt.tmpl", $args, \$content) - || die($template->error()); - - # TT trims the trailing newline - my $email = new Email::MIME("$content\n"); - $email->content_type_set('multipart/alternative'); - $email->parts_set(\@parts); - - MessageToMTA($email); -} diff --git a/extensions/RequestWhiner/disabled b/extensions/RequestWhiner/disabled deleted file mode 100644 index e69de29bb..000000000 --- a/extensions/RequestWhiner/disabled +++ /dev/null diff --git a/extensions/RequestWhiner/lib/Constants.pm b/extensions/RequestWhiner/lib/Constants.pm deleted file mode 100644 index 0e24ae1f0..000000000 --- a/extensions/RequestWhiner/lib/Constants.pm +++ /dev/null @@ -1,31 +0,0 @@ -# -*- Mode: perl; indent-tabs-mode: nil -*- -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the RequestWhiner Bugzilla Extension. -# -# The Initial Developer of the Original Code is the Mozilla Foundation. -# Portions created by the Initial Developer are Copyright (C) 2011 the -# Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Gervase Markham <written.to.the.glory.of.god@gerv.net> - -package Bugzilla::Extension::RequestWhiner::Constants; -use strict; -use base qw(Exporter); -our @EXPORT = qw( - WHINE_AFTER_DAYS -); - -use constant WHINE_AFTER_DAYS => 7; - -1; diff --git a/extensions/RequestWhiner/template/en/default/requestwhiner/header.txt.tmpl b/extensions/RequestWhiner/template/en/default/requestwhiner/header.txt.tmpl deleted file mode 100644 index 390fd3e2f..000000000 --- a/extensions/RequestWhiner/template/en/default/requestwhiner/header.txt.tmpl +++ /dev/null @@ -1,6 +0,0 @@ -[% PROCESS global/variables.none.tmpl %] -From: [% from %] -To: [% recipient.email %] -Subject: [[% terms.Bugzilla %]] [% subject %] -X-Bugzilla-Type: whine - diff --git a/extensions/RequestWhiner/template/en/default/requestwhiner/mail.html.tmpl b/extensions/RequestWhiner/template/en/default/requestwhiner/mail.html.tmpl deleted file mode 100644 index 07b2b31ee..000000000 --- a/extensions/RequestWhiner/template/en/default/requestwhiner/mail.html.tmpl +++ /dev/null @@ -1,62 +0,0 @@ -[%# The contents of this file are subject to the Mozilla Public - # License Version 1.1 (the "License"); you may not use this file - # except in compliance with the License. You may obtain a copy of - # the License at http://www.mozilla.org/MPL/ - # - # Software distributed under the License is distributed on an "AS - # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - # implied. See the License for the specific language governing - # rights and limitations under the License. - # - # The Original Code is the RequestWhiner Bugzilla Extension. - # - # The Initial Developer of the Original Code is Gervase Markham - # Portions created by the Initial Developer are Copyright (C) 2011 the - # Initial Developer. All Rights Reserved. - # - # Contributor(s): Gervase Markham <written.to.the.glory.of.god@gerv.net> - #%] - -[% PROCESS global/variables.none.tmpl %] -[% PROCESS 'global/field-descs.none.tmpl' %] - -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> - <head> - <title> - [[% terms.Bugzilla %]] [% subject FILTER html %] - </title> - </head> - <body bgcolor="#FFFFFF"> - -<p>The following is a list of requests people have made of you, which have been -outstanding more than [% threshold FILTER html %] days. To avoid disappointing -others, please deal with them as quickly as possible. -(<a href="https://wiki.mozilla.org/BMO/Handling_Requests">Here is some -guidance on handling requests</a>.) -</p> - -[% FOREACH request_type = requests.keys %] -<h3>[% request_type FILTER html %]</h3> - -<ul> - [% FOREACH request = requests.$request_type %] - <li> - <a href="[% urlbase FILTER none %]show_bug.cgi?id=[% request.bug_id FILTER none %]">[% terms.Bug %] - [%+ request.bug_id FILTER none %]: [% request.summary FILTER html %]</a> ([% request.age FILTER none %] days old) - [% IF request.attach_id %] - <br> - <small>(<a href="[% urlbase FILTER none %]attachment.cgi?id=[% request.attach_id FILTER none %]&action=edit">Details</a> | - <a href="[% urlbase FILTER none %]attachment.cgi?id=[% request.attach_id FILTER none %]&action=diff">Diff</a> | - <a href="[% urlbase FILTER none %]page.cgi?id=splinter.html&bug=[% request.bug_id FILTER none %]&attachment=[% request.attach_id FILTER none %]">Splinter Review</a>)</small> - [% END %] - </li> - [% END %] -</ul> - -[% END %] - -<p><a href="[% urlbase FILTER none %]request.cgi?action=queue&requestee=[% recipient.email FILTER uri %]&group=type">See all your outstanding requests</a>.</p> - - </body> -</html> diff --git a/extensions/RequestWhiner/template/en/default/requestwhiner/mail.txt.tmpl b/extensions/RequestWhiner/template/en/default/requestwhiner/mail.txt.tmpl deleted file mode 100644 index ef21563c9..000000000 --- a/extensions/RequestWhiner/template/en/default/requestwhiner/mail.txt.tmpl +++ /dev/null @@ -1,41 +0,0 @@ -[%# The contents of this file are subject to the Mozilla Public - # License Version 1.1 (the "License"); you may not use this file - # except in compliance with the License. You may obtain a copy of - # the License at http://www.mozilla.org/MPL/ - # - # Software distributed under the License is distributed on an "AS - # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - # implied. See the License for the specific language governing - # rights and limitations under the License. - # - # The Original Code is the RequestWhiner Bugzilla Extension. - # - # The Initial Developer of the Original Code is Gervase Markham - # Portions created by the Initial Developer are Copyright (C) 2011 the - # Initial Developer. All Rights Reserved. - # - # Contributor(s): Gervase Markham <written.to.the.glory.of.god@gerv.net> - #%] - -[% PROCESS global/variables.none.tmpl %] -[% PROCESS 'global/field-descs.none.tmpl' %] - -The following is a list of requests people have made of you, which have been -outstanding more than [% threshold %] days. To avoid disappointing others, please deal with -them as quickly as possible. Here is some guidance on handling requests: - https://wiki.mozilla.org/BMO/Handling_Requests - -[% FOREACH request_type = requests.keys %] -[%+ request_type +%] -[%+ "-" FILTER repeat(request_type.length) +%] - - [% FOREACH request = requests.$request_type %] - [%+ terms.Bug +%] [%+ request.bug_id %]: [% request.summary +%] ([% request.age %] days old) - [%+ urlbase %]show_bug.cgi?id=[% request.bug_id +%] - [% IF request.attach_id %] - [%+ urlbase %]attachment.cgi?id=[% request.attach_id %]&action=edit - [% END %] - [%+ END +%] -[% END %] -To see all your outstanding requests, visit: -[%+ urlbase %]request.cgi?action=queue&requestee=[% recipient.email FILTER url %]&group=type |