From 03b779082ecb04a171c5efd114421ee2e35ee186 Mon Sep 17 00:00:00 2001 From: Chris Cormack Date: Tue, 12 Aug 2014 09:53:44 +1200 Subject: [PATCH] [SIGNED-OFF] Bug 9530: Adding a new Koha::Email module Content-Type: text/plain; charset="utf-8" To test 1/ Apply patch 2/ run t/Koha_Email.t No changes to behaviour have been implemented yet Signed-off-by: Owen Leonard --- Koha/Email.pm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ t/Koha_Email.t | 11 ++++++++++ 2 files changed, 76 insertions(+) create mode 100644 Koha/Email.pm create mode 100755 t/Koha_Email.t diff --git a/Koha/Email.pm b/Koha/Email.pm new file mode 100644 index 0000000..fc392a3 --- /dev/null +++ b/Koha/Email.pm @@ -0,0 +1,65 @@ +# Copyright 2014 Catalyst +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 3 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +package Koha::Email; + +use Modern::Perl; + +use base qw(Class::Accessor); +use C4::Context; + +__PACKAGE__->mk_accessors(qw( )); + +=head1 NAME + +Koha::Email + +=head1 SYNOPSIS + + use Koha::Email; + my $email = Koha::Email->new(); + my %mail = $email->create_message_headers({ to => $to_address, from => $from_address, + replyto => $replyto }); + +=head1 FUNCTIONS + +=cut + +sub create_message_headers { + my $self = shift; + my $params = shift; + $params->{from} ||= C4::Context->preference('KohaAdminEmailAddress'); + $params->{charset} ||= 'utf8'; + my %mail = ( + To => $params->{to}, + From => $params->{from}, + charset => $params->{charset} + ); + if ( C4::Context->preference('ReplytoDefault') ) { + $params->{replyto} ||= C4::Context->preference('ReplytoDefault'); + } + if ( C4::Context->preference('ReturnpathDefault') ) { + $params->{sender} ||= C4::Context->preference('ReturnpathDefault'); + } + $mail{'Reply-to'} = $params->{replyto} if $params->{replyto}; + $mail{'Sender'} = $params->{sender} if $params->{sender}; + $mail{'Message'} = $params->{message} if $params->{message}; + $mail{'Subject'} = $params->{subject} if $params->{subject}; + $mail{'Content-Type'} = $params->{contenttype} if $params->{contenttype}; + return %mail; +} +1; diff --git a/t/Koha_Email.t b/t/Koha_Email.t new file mode 100755 index 0000000..764f5c1 --- /dev/null +++ b/t/Koha_Email.t @@ -0,0 +1,11 @@ +use Modern::Perl; + +use Test::More tests => 4; # last test to print + +use_ok('Koha::Email'); + +my $from = 'chrisc@catalyst.net.nz'; + +ok( my $email = Koha::Email->new(), 'Create a Koha::Email Object'); +ok( my %mail = $email->create_message_headers({from => $from}),'Set headers'); +is ($mail{'From'}, $from, 'Set correctly'); -- 1.7.9.5