[freeside-commits] freeside/install/rpm freeside-1.5.7.emailsubject.patch, NONE, 1.1.2.1
Richard Siddall
rsiddall at wavetail.420.am
Wed Jun 27 19:39:55 PDT 2007
Update of /home/cvs/cvsroot/freeside/install/rpm
In directory wavetail:/tmp/cvs-serv11629
Added Files:
Tag: FREESIDE_1_5_BRANCH
freeside-1.5.7.emailsubject.patch
Log Message:
Patch to Freeside 1.5.7 to make e-mail subject lines configurable text templates
--- NEW FILE: freeside-1.5.7.emailsubject.patch ---
diff -Naur freeside-1.5.7.orig/FS/bin/freeside-expiration-alerter freeside-1.5.7/FS/bin/freeside-expiration-alerter
--- freeside-1.5.7.orig/FS/bin/freeside-expiration-alerter 2003-04-21 16:53:57.000000000 -0400
+++ freeside-1.5.7/FS/bin/freeside-expiration-alerter 2005-08-29 19:11:41.220781694 -0400
@@ -29,6 +29,7 @@
my $urgent_time = 15 * 24 * 60 * 60;
my $panic_time = 5 * 24 * 60 * 60;
my $window_time = 24 * 60 * 60;
+my $subject = "Unnotified Billing Arrangement Expirations";
&untaint_argv; #what it sounds like (eww)
@@ -51,6 +52,8 @@
if $conf->exists('invoice_from');
$failure_recipient = $conf->config('invoice_from')
if $conf->exists('invoice_from');
+$subject = $conf->config('alerter_email-subject')
+ if $conf->exists('alerter-email_subject');
my(@customers)=qsearch('cust_main',{});
@@ -61,13 +64,16 @@
# Prepare for sending email
+my $subject_template = new Text::Template (TYPE => 'STRING', SOURCE => $subject);
+my $mail_subject = $subject_template->fill_in(HASH => { ispname => $conf->config('company_name') });
+
$ENV{MAILADDRESS} = $mail_sender;
my $header = new Mail::Header ( [
"From: Account Processor",
"To: $failure_recipient",
"Sender: $mail_sender",
"Reply-To: $mail_sender",
- "Subject: Unnotified Billing Arrangement Expirations",
+ "Subject: $mail_subject",
] );
my @alerter_template = $conf->config('alerter_template')
diff -Naur freeside-1.5.7.orig/FS/FS/Conf.pm freeside-1.5.7/FS/FS/Conf.pm
--- freeside-1.5.7.orig/FS/FS/Conf.pm 2005-06-30 09:20:33.000000000 -0400
+++ freeside-1.5.7/FS/FS/Conf.pm 2005-08-28 12:18:03.000000000 -0400
@@ -300,6 +300,13 @@
},
{
+ 'key' => 'alerter_email-subject',
+ 'section' => 'billing',
+ 'description' => 'Template for the subject lines of billing method expiration alerts. See the <a href="../docs/billing.html#invoice_template">billing documentation</a> for details.',
+ 'type' => 'text',
+ },
+
+ {
'key' => 'apacheroot',
'section' => 'deprecated',
'description' => '<b>DEPRECATED</b>, add a <i>www_shellcommands</i> <a href="../browse/part_export.cgi">export</a> instead. The directory containing Apache virtual hosts',
@@ -674,6 +681,13 @@
},
{
+ 'key' => 'invoice_email-subject',
+ 'section' => 'billing',
+ 'description' => 'Template for the e-mail subject of invoices.',
+ 'type' => 'text',
+ },
+
+ {
'key' => 'payment_receipt_email',
'section' => 'billing',
'description' => 'Template file for payment receipts.',
@@ -681,6 +695,13 @@
},
{
+ 'key' => 'receipt_email-subject',
+ 'section' => 'billing',
+ 'description' => 'Template for the e-mail subject line of payment receipts.',
+ 'type' => 'text',
+ },
+
+ {
'key' => 'lpr',
'section' => 'required',
'description' => 'Print command for paper invoices, for example `lpr -h\'',
@@ -1209,6 +1230,13 @@
},
{
+ 'key' => 'decline_email-subject',
+ 'section' => 'billing',
+ 'description' => 'Template for the subject line of credit card decline emails.',
+ 'type' => 'text',
+ },
+
+ {
'key' => 'emaildecline',
'section' => 'billing',
'description' => 'Enable emailing of credit card decline notices.',
diff -Naur freeside-1.5.7.orig/FS/FS/cust_bill.pm freeside-1.5.7/FS/FS/cust_bill.pm
--- freeside-1.5.7.orig/FS/FS/cust_bill.pm 2005-07-09 11:41:18.000000000 -0400
+++ freeside-1.5.7/FS/FS/cust_bill.pm 2005-08-29 17:23:32.000000000 -0400
@@ -356,9 +356,23 @@
my $me = '[FS::cust_bill::generate_email]';
+ my $subject = $conf->config('invoice_email-subject');
+ $subject = 'Invoice' if !$subject;
+
+ my $subject_template = new Text::Template(TYPE => 'STRING', SOURCE => $subject);
+ my $templ_hash = {
+ ispname => $conf->config('company_name'),
+ invnum => $self->invnum,
+ date => $self->_date,
+ money_char => $conf->config('money_char') || '$',
+ };
+ foreach (qw/first last company address1 address2 city state zip country/) {
+ $$templ_hash{$_} = $self->cust_main->getfield($_);
+ }
+
my %return = (
'from' => $args{'from'},
- 'subject' => (($args{'subject'}) ? $args{'subject'} : 'Invoice'),
+ 'subject' => (($args{'subject'}) ? $args{'subject'} : $subject_template->fill_in(HASH => $templ_hash)),
);
if (ref($args{'to'} eq 'ARRAY')) {
diff -Naur freeside-1.5.7.orig/FS/FS/cust_main.pm freeside-1.5.7/FS/FS/cust_main.pm
--- freeside-1.5.7.orig/FS/FS/cust_main.pm 2005-06-30 08:44:46.000000000 -0400
+++ freeside-1.5.7/FS/FS/cust_main.pm 2005-08-29 19:20:57.241357962 -0400
@@ -2278,12 +2278,24 @@
$template->compile()
or return "($perror) can't compile template: $Text::Template::ERROR";
- my $templ_hash = { error => $transaction->error_message };
+ my $subject = $conf->config('decline_email-subject');
+ $subject = 'Your payment could not be processed' if !$subject;
+ my $subject_template = new Text::Template(TYPE => 'STRING', SOURCE => $subject);
+
+ my $templ_hash = {
+ error => $transaction->error_message,
+ ispname => $conf->config('company_name'),
+ money_char => $conf->config('money_char') || '$',
+ name => $self->name,
+ };
+ foreach (qw/first last company address1 address2 city state zip country/) {
+ $$templ_hash{$_} = $self->getfield($_);
+ }
my $error = send_email(
'from' => $conf->config('invoice_from'),
'to' => [ grep { $_ ne 'POST' } $self->invoicing_list ],
- 'subject' => 'Your payment could not be processed',
+ 'subject' => $subject_template->fill_in(HASH => $templ_hash),
'body' => [ $template->fill_in(HASH => $templ_hash) ],
);
diff -Naur freeside-1.5.7.orig/FS/FS/cust_pay.pm freeside-1.5.7/FS/FS/cust_pay.pm
--- freeside-1.5.7.orig/FS/FS/cust_pay.pm 2005-06-08 20:18:35.000000000 -0400
+++ freeside-1.5.7/FS/FS/cust_pay.pm 2005-08-29 17:08:10.000000000 -0400
@@ -185,6 +185,10 @@
return '';
};
+ my $subject = $conf->config('receipt_email-subject');
+ $subject = 'Payment receipt' if !$subject;
+ my $subject_template = new Text::Template(TYPE => 'STRING', SOURCE => $subject);
+
my @invoicing_list = grep { $_ !~ /^(POST|FAX)$/ } $cust_main->invoicing_list;
my $payby = $self->payby;
@@ -193,11 +197,7 @@
$payinfo = $self->payinfo_masked if $payby eq 'CARD' || $payby eq 'CHEK';
$payby =~ s/^CHEK$/Electronic check/;
- my $error = send_email(
- 'from' => $conf->config('invoice_from'), #??? well as good as any
- 'to' => \@invoicing_list,
- 'subject' => 'Payment receipt',
- 'body' => [ $receipt_template->fill_in( HASH => {
+ my $templ_hash = {
'date' => time2str("%a %B %o, %Y", $self->_date),
'name' => $cust_main->name,
'paynum' => $self->paynum,
@@ -205,7 +205,18 @@
'payby' => ucfirst(lc($payby)),
'payinfo' => $payinfo,
'balance' => $cust_main->balance,
- } ) ],
+ 'ispname' => $conf->config('company_name'),
+ 'money_char' => $conf->config('money_char') || '$',
+ };
+ foreach (qw/first last company address1 address2 city state zip country/) {
+ $$templ_hash{$_} = $self->cust_main->getfield($_);
+ }
+
+ my $error = send_email(
+ 'from' => $conf->config('invoice_from'), #??? well as good as any
+ 'to' => \@invoicing_list,
+ 'subject' => $subject_template->fill_in( HASH => $templ_hash ),
+ 'body' => [ $receipt_template->fill_in( HASH => $templ_hash ) ],
);
if ( $error ) {
warn "can't send payment receipt: $error";
diff -Naur freeside-1.5.7.orig/FS/FS/cust_pkg.pm freeside-1.5.7/FS/FS/cust_pkg.pm
--- freeside-1.5.7.orig/FS/FS/cust_pkg.pm 2005-03-21 17:13:36.000000000 -0500
+++ freeside-1.5.7/FS/FS/cust_pkg.pm 2005-08-29 17:29:38.747520156 -0400
@@ -425,7 +425,7 @@
my $conf = new FS::Conf;
my @invoicing_list = grep { $_ !~ /^(POST|FAX)$/ } $self->cust_main->invoicing_list;
if ( !$options{'quiet'} && $conf->exists('emailcancel') && @invoicing_list ) {
- my $conf = new FS::Conf;
+# my $conf = new FS::Conf;
my $error = send_email(
'from' => $conf->config('invoice_from'),
'to' => \@invoicing_list,
diff -Naur freeside-1.5.7.orig/FS/FS/svc_acct.pm freeside-1.5.7/FS/FS/svc_acct.pm
--- freeside-1.5.7.orig/FS/FS/svc_acct.pm 2005-06-30 09:20:33.000000000 -0400
+++ freeside-1.5.7/FS/FS/svc_acct.pm 2005-08-29 17:10:03.000000000 -0400
@@ -304,19 +304,27 @@
'svcnum' => $self->svcnum,
'job' => 'FS::svc_acct::send_email'
};
- my $error = $wqueue->insert(
- 'to' => $to,
- 'from' => $welcome_from,
- 'subject' => $welcome_subject,
- 'mimetype' => $welcome_mimetype,
- 'body' => $welcome_template->fill_in( HASH => {
+ my $subject_template = new Text::Template(TYPE => 'STRING', SOURCE => $welcome_subject);
+ my $templ_hash = {
'custnum' => $self->custnum,
'username' => $self->username,
'password' => $self->_password,
- 'first' => $cust_main->first,
- 'last' => $cust_main->getfield('last'),
+# 'first' => $cust_main->first,
+# 'last' => $cust_main->getfield('last'),
'pkg' => $cust_pkg->part_pkg->pkg,
- } ),
+ 'ispname' => $conf->config('company_name'),
+ 'money_char' => $conf->config('money_char') || '$',
+ };
+ foreach (qw/first last company address1 address2 city state zip country/) {
+ $$templ_hash{$_} = $cust_main->getfield($_);
+ }
+
+ my $error = $wqueue->insert(
+ 'to' => $to,
+ 'from' => $welcome_from,
+ 'subject' => $subject_template->fill_in( HASH => $templ_hash ),
+ 'mimetype' => $welcome_mimetype,
+ 'body' => $welcome_template->fill_in( HASH => $templ_hash ),
);
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
More information about the freeside-commits
mailing list