Accepting request 354755 from home:ecsos:server
Fix bug in whine.pl OBS-URL: https://build.opensuse.org/request/show/354755 OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/bugzilla?expand=0&rev=6
This commit is contained in:
parent
c878c2f7d4
commit
eac45db926
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 19 10:29:21 UTC 2016 - ecsos@opensuse.org
|
||||||
|
|
||||||
|
- fix error "Undefined subroutine..." in whine.pl
|
||||||
|
https://bugzilla.mozilla.org/show_bug.cgi?id=1235395
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Jan 3 00:50:39 UTC 2016 - ecsos@opensuse.org
|
Sun Jan 3 00:50:39 UTC 2016 - ecsos@opensuse.org
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ Source: http://ftp.mozilla.org/pub/mozilla.org/webtools/%{name}-%{versio
|
|||||||
Source2: http://downloads.sourceforge.net/project/bugzilla-de/5.0/5.0/%{name}-de-5.0-1.utf-8.tar.gz
|
Source2: http://downloads.sourceforge.net/project/bugzilla-de/5.0/5.0/%{name}-de-5.0-1.utf-8.tar.gz
|
||||||
Source3: MPL-2.0.html
|
Source3: MPL-2.0.html
|
||||||
Source4: %{name}.conf
|
Source4: %{name}.conf
|
||||||
|
Patch1: fix_whine_error.patch
|
||||||
BuildRequires: apache
|
BuildRequires: apache
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
Requires: apache
|
Requires: apache
|
||||||
@ -120,6 +121,7 @@ This package includes german language files for bugzilla
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
|
130
fix_whine_error.patch
Normal file
130
fix_whine_error.patch
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
diff --git a/Bugzilla/Mailer.pm b/Bugzilla/Mailer.pm
|
||||||
|
index 7ae81299fde2aee4342a37b2401fd52a0b3aab0f..2d29dd8060bd6f4657b1b0bc6395456e700e0c35 100644
|
||||||
|
--- a/Bugzilla/Mailer.pm
|
||||||
|
+++ b/Bugzilla/Mailer.pm
|
||||||
|
@@ -12,13 +12,13 @@ use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use parent qw(Exporter);
|
||||||
|
-@Bugzilla::Mailer::EXPORT = qw(MessageToMTA build_thread_marker);
|
||||||
|
-
|
||||||
|
+@Bugzilla::Mailer::EXPORT = qw(MessageToMTA build_thread_marker generate_email);
|
||||||
|
use Bugzilla::Constants;
|
||||||
|
use Bugzilla::Error;
|
||||||
|
use Bugzilla::Hook;
|
||||||
|
use Bugzilla::MIME;
|
||||||
|
use Bugzilla::Util;
|
||||||
|
+use Bugzilla::User;
|
||||||
|
|
||||||
|
use Date::Format qw(time2str);
|
||||||
|
|
||||||
|
@@ -161,6 +161,67 @@ sub send_staged_mail {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+sub generate_email {
|
||||||
|
+ my ($vars, $templates) = @_;
|
||||||
|
+ my ($lang, $email_format, $msg_text, $msg_html, $msg_header);
|
||||||
|
+ state $use_utf8 = Bugzilla->params->{'utf8'};
|
||||||
|
+
|
||||||
|
+ if ($vars->{to_user}) {
|
||||||
|
+ $lang = $vars->{to_user}->setting('lang');
|
||||||
|
+ $email_format = $vars->{to_user}->setting('email_format');
|
||||||
|
+ } else {
|
||||||
|
+ # If there are users in the CC list who don't have an account,
|
||||||
|
+ # use the default language for email notifications.
|
||||||
|
+ $lang = Bugzilla::User->new()->setting('lang');
|
||||||
|
+ # However we cannot fall back to the default email_format, since
|
||||||
|
+ # it may be HTML, and many of the includes used in the HTML
|
||||||
|
+ # template require a valid user object. Instead we fall back to
|
||||||
|
+ # the plaintext template.
|
||||||
|
+ $email_format = 'text_only';
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ my $template = Bugzilla->template_inner($lang);
|
||||||
|
+
|
||||||
|
+ $template->process($templates->{header}, $vars, \$msg_header)
|
||||||
|
+ || ThrowTemplateError($template->error());
|
||||||
|
+ $template->process($templates->{text}, $vars, \$msg_text)
|
||||||
|
+ || ThrowTemplateError($template->error());
|
||||||
|
+
|
||||||
|
+ my @parts = (
|
||||||
|
+ Bugzilla::MIME->create(
|
||||||
|
+ attributes => {
|
||||||
|
+ content_type => 'text/plain',
|
||||||
|
+ charset => $use_utf8 ? 'UTF-8' : 'iso-8859-1',
|
||||||
|
+ encoding => 'quoted-printable',
|
||||||
|
+ },
|
||||||
|
+ body_str => $msg_text,
|
||||||
|
+ )
|
||||||
|
+ );
|
||||||
|
+ if ($templates->{html} && $email_format eq 'html') {
|
||||||
|
+ $template->process($templates->{html}, $vars, \$msg_html)
|
||||||
|
+ || ThrowTemplateError($template->error());
|
||||||
|
+ push @parts, Bugzilla::MIME->create(
|
||||||
|
+ attributes => {
|
||||||
|
+ content_type => 'text/html',
|
||||||
|
+ charset => $use_utf8 ? 'UTF-8' : 'iso-8859-1',
|
||||||
|
+ encoding => 'quoted-printable',
|
||||||
|
+ },
|
||||||
|
+ body_str => $msg_html,
|
||||||
|
+ );
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ my $email = Bugzilla::MIME->new($msg_header);
|
||||||
|
+ if (scalar(@parts) == 1) {
|
||||||
|
+ $email->content_type_set($parts[0]->content_type);
|
||||||
|
+ } else {
|
||||||
|
+ $email->content_type_set('multipart/alternative');
|
||||||
|
+ # Some mail clients need same encoding for each part, even empty ones.
|
||||||
|
+ $email->charset_set('UTF-8') if $use_utf8;
|
||||||
|
+ }
|
||||||
|
+ $email->parts_set(\@parts);
|
||||||
|
+ return $email;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
1;
|
||||||
|
|
||||||
|
__END__
|
||||||
|
@@ -173,6 +234,10 @@ Bugzilla::Mailer - Provides methods for sending email
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
+=item C<generate_email>
|
||||||
|
+
|
||||||
|
+Generates a multi-part email message, using the supplied list of templates.
|
||||||
|
+
|
||||||
|
=item C<MessageToMTA>
|
||||||
|
|
||||||
|
Sends the passed message to the mail transfer agent.
|
||||||
|
diff --git a/Bugzilla/Product.pm b/Bugzilla/Product.pm
|
||||||
|
index 30ebc7c6cd564080589ad04db4aedcb59d63290a..0c0cb458d554b2def12164e35d848d8a4c9583de 100644
|
||||||
|
--- a/Bugzilla/Product.pm
|
||||||
|
+++ b/Bugzilla/Product.pm
|
||||||
|
@@ -22,7 +22,6 @@ use Bugzilla::Milestone;
|
||||||
|
use Bugzilla::Field;
|
||||||
|
use Bugzilla::Status;
|
||||||
|
use Bugzilla::Install::Requirements;
|
||||||
|
-use Bugzilla::Mailer;
|
||||||
|
use Bugzilla::Series;
|
||||||
|
use Bugzilla::Hook;
|
||||||
|
use Bugzilla::FlagType;
|
||||||
|
diff --git a/whine.pl b/whine.pl
|
||||||
|
index 39c9aeed2e766824a900459c4364c6831ba82744..c81ca2022db3d8e6b32dfe1464569b17f6e75374 100755
|
||||||
|
--- a/whine.pl
|
||||||
|
+++ b/whine.pl
|
||||||
|
@@ -13,14 +13,13 @@
|
||||||
|
use 5.10.1;
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
-
|
||||||
|
use lib qw(. lib);
|
||||||
|
|
||||||
|
use Bugzilla;
|
||||||
|
use Bugzilla::Constants;
|
||||||
|
use Bugzilla::Search;
|
||||||
|
use Bugzilla::User;
|
||||||
|
-use Bugzilla::Mailer;
|
||||||
|
+use Bugzilla::Mailer qw(MessageToMTA generate_email);
|
||||||
|
use Bugzilla::Util;
|
||||||
|
use Bugzilla::Group;
|
Loading…
x
Reference in New Issue
Block a user