freeside/FS/FS Conf.pm,1.100,1.101 cust_credit_bill.pm,1.12,1.13 cust_bill_pay.pm,1.15,1.16 cust_pay_refund.pm,1.1,1.2 cust_pay.pm,1.28,1.29
ivan
ivan at pouncequick.420.am
Wed Jun 30 10:57:06 PDT 2004
Update of /home/cvs/cvsroot/freeside/FS/FS
In directory pouncequick:/tmp/cvs-serv8454/FS/FS
Modified Files:
Conf.pm cust_credit_bill.pm cust_bill_pay.pm
cust_pay_refund.pm cust_pay.pm
Log Message:
payment receipts!
Index: cust_bill_pay.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_bill_pay.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- cust_bill_pay.pm 29 Jun 2004 04:02:44 -0000 1.15
+++ cust_bill_pay.pm 30 Jun 2004 17:57:03 -0000 1.16
@@ -70,21 +70,6 @@
Adds this record to the database. If there is an error, returns the error,
otherwise returns false.
-=cut
-
-sub insert {
- my $self = shift;
- my $error = $self->SUPER::insert;
- return $error if $error;
-
- if ( $conf->exists('invoice_send_receipts') ) {
- my $send_error = $self->cust_bill->send;
- warn "Error sending receipt: $send_error\n" if $send_error;
- }
-
- '';
-}
-
=item delete
Deletes this payment application, unless the closed flag for the parent payment
Index: Conf.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Conf.pm,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -r1.100 -r1.101
--- Conf.pm 30 Jun 2004 10:02:45 -0000 1.100
+++ Conf.pm 30 Jun 2004 17:57:03 -0000 1.101
@@ -542,9 +542,16 @@
{
'key' => 'invoice_send_receipts',
- 'section' => 'billing',
- 'description' => 'Send receipts for payments and credits.',
+ 'section' => 'deprecated',q
+ 'description' => '<b>DEPRECATED</b>, this used to send an invoice copy on payments and credits. See the payment_receipt_email and instead.',
'type' => 'checkbox',
+ },
+
+ {
+ 'key' => 'payment_receipt_email',
+ 'section' => 'billing',
+ 'description' => 'Template file for payment receipts.',
+ 'type' => 'textarea',
},
{
Index: cust_pay_refund.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_pay_refund.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- cust_pay_refund.pm 29 Jun 2004 04:02:44 -0000 1.1
+++ cust_pay_refund.pm 30 Jun 2004 17:57:03 -0000 1.2
@@ -73,16 +73,6 @@
Adds this cust_pay_refund to the database. If there is an error, returns the
error, otherwise returns false.
-=cut
-
-sub insert {
- my $self = shift;
- my $error = $self->SUPER::insert(@_);
- return $error if $error;
-
- '';
-}
-
=item delete
=cut
Index: cust_credit_bill.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_credit_bill.pm,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- cust_credit_bill.pm 29 Jun 2004 04:02:44 -0000 1.12
+++ cust_credit_bill.pm 30 Jun 2004 17:57:03 -0000 1.13
@@ -74,21 +74,6 @@
Adds this cust_credit_bill to the database ("Posts" all or part of a credit).
If there is an error, returns the error, otherwise returns false.
-=cut
-
-sub insert {
- my $self = shift;
- my $error = $self->SUPER::insert(@_);
- return $error if $error;
-
- if ( $conf->exists('invoice_send_receipts') ) {
- my $send_error = $self->cust_bill->send;
- warn "Error sending receipt: $send_error\n" if $send_error;
- }
-
- '';
-}
-
=item delete
Currently unimplemented.
Index: cust_pay.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_pay.pm,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- cust_pay.pm 29 Jun 2004 04:02:44 -0000 1.28
+++ cust_pay.pm 30 Jun 2004 17:57:03 -0000 1.29
@@ -4,6 +4,7 @@
use vars qw( @ISA $conf $unsuspendauto );
use Date::Format;
use Business::CreditCard;
+use Text::Template;
use FS::UID qw( dbh );
use FS::Record qw( dbh qsearch qsearchs dbh );
use FS::Misc qw(send_email);
@@ -112,7 +113,7 @@
$self->custnum($cust_bill->custnum );
}
- my $cust_main = qsearchs( 'cust_main', { 'custnum' => $self->custnum } );
+ my $cust_main = $self->cust_main;
my $old_balance = $cust_main->balance;
my $error = $self->check;
@@ -162,64 +163,44 @@
$dbh->commit or die $dbh->errstr if $oldAutoCommit;
- '';
-
-}
-
-sub upgrade_replace { #1.3.x->1.4.x
- my $self = shift;
-
- local $SIG{HUP} = 'IGNORE';
- local $SIG{INT} = 'IGNORE';
- local $SIG{QUIT} = 'IGNORE';
- local $SIG{TERM} = 'IGNORE';
- local $SIG{TSTP} = 'IGNORE';
- local $SIG{PIPE} = 'IGNORE';
-
- my $oldAutoCommit = $FS::UID::AutoCommit;
- local $FS::UID::AutoCommit = 0;
- my $dbh = dbh;
+ #my $cust_main = $self->cust_main;
+ if ( $conf->exists('payment_receipt_email')
+ && grep { $_ ne 'POST' } $cust_main->invoicing_list
+ ) {
- my $error = $self->check;
- return $error if $error;
+ my $receipt_template = new Text::Template (
+ TYPE => 'ARRAY',
+ SOURCE => [ map "$_\n", $conf->config('payment_receipt_email') ],
+ ) or do {
+ warn "can't create payment receipt template: $Text::Template::ERROR";
+ return '';
+ };
- my %new = $self->hash;
- my $new = FS::cust_pay->new(\%new);
+ my @invoicing_list = grep { $_ ne 'POST' } $cust_main->invoicing_list;
- if ( $self->invnum ) {
- my $cust_bill_pay = new FS::cust_bill_pay {
- 'invnum' => $self->invnum,
- 'paynum' => $self->paynum,
- 'amount' => $self->paid,
- '_date' => $self->_date,
- };
- $error = $cust_bill_pay->insert;
- if ( $error =~
- /total cust_bill_pay.amount and cust_credit_bill.amount .* for invnum .* greater than cust_bill.charged/ ) {
- #warn $error;
- my $cust_bill = qsearchs( 'cust_bill', { 'invnum' => $self->invnum } );
- $new->custnum($cust_bill->custnum);
- } elsif ( $error ) {
- $dbh->rollback if $oldAutoCommit;
- return $error;
- } else {
- $new->custnum($cust_bill_pay->cust_bill->custnum);
+ 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 => {
+ 'date' => str2time("%a %B %o, %Y", $self->_date),
+ 'paynum' => $self->paynum,
+ 'paid' => $self->paid,
+ 'payby' => ucfirst(lc($self->payby)),
+ 'payinfo' => ( $self->payby eq 'CARD'
+ ? $self->payinfo_masked
+ : $self->payinfo ),
+ 'balance' => $cust_main->balance,
+ } ),
+ );
+ if ( $error ) {
+ warn "can't send payment receipt: $error";
}
- } else {
- die;
- }
- $error = $new->SUPER::replace($self);
- if ( $error ) {
- $dbh->rollback if $oldAutoCommit;
- return $error;
}
- $dbh->commit or die $dbh->errstr if $oldAutoCommit;
-
'';
-
}
=item delete
@@ -260,7 +241,7 @@
if ( $conf->config('deletepayments') ne '' ) {
- my $cust_main = qsearchs('cust_main',{ 'custnum' => $self->custnum });
+ my $cust_main = $self->cust_main;
my $error = send_email(
'from' => $conf->config('invoice_from'), #??? well as good as any
More information about the freeside-commits
mailing list