diff options
author | ivan <ivan> | 2003-11-29 08:32:40 +0000 |
---|---|---|
committer | ivan <ivan> | 2003-11-29 08:32:40 +0000 |
commit | 281d9b3d2f0f955c159275cafe405f73c88733ba (patch) | |
tree | 531088fcc21f136e019e8e5f58b923d5c31e0963 /FS | |
parent | 98fc23b80dbc4935ff7a6efeb49fd3876b96f029 (diff) |
option to send statements when a payment or credit is applied
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/Conf.pm | 7 | ||||
-rw-r--r-- | FS/FS/cust_bill_pay.pm | 19 | ||||
-rw-r--r-- | FS/FS/cust_credit_bill.pm | 33 |
3 files changed, 49 insertions, 10 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index b30beafaf..d911480df 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -492,6 +492,13 @@ httemplate/docs/config.html }, { + 'key' => 'invoice_send_receipts', + 'section' => 'billing', + 'description' => 'Send receipts for payments and credits.', + 'type' => 'checkbox', + }, + + { 'key' => 'lpr', 'section' => 'required', 'description' => 'Print command for paper invoices, for example `lpr -h\'', diff --git a/FS/FS/cust_bill_pay.pm b/FS/FS/cust_bill_pay.pm index 5f4a49144..c8b5525ea 100644 --- a/FS/FS/cust_bill_pay.pm +++ b/FS/FS/cust_bill_pay.pm @@ -1,13 +1,18 @@ package FS::cust_bill_pay; use strict; -use vars qw( @ISA ); +use vars qw( @ISA $conf ); use FS::Record qw( qsearch qsearchs dbh ); use FS::cust_bill; use FS::cust_pay; @ISA = qw( FS::Record ); +#ask FS::UID to run this stuff for us later +FS::UID->install_callback( sub { + $conf = new FS::Conf; +} ); + =head1 NAME FS::cust_bill_pay - Object methods for cust_bill_pay records @@ -101,7 +106,8 @@ sub insert { " greater than cust_pay.paid ". $cust_pay->paid; } - my $cust_bill = qsearchs('cust_bill', { 'invnum' => $self->invnum } ) or do { + my $cust_bill = $self->cust_bill; + unless ( $cust_bill ) { $dbh->rollback if $oldAutoCommit; return "unknown cust_bill.invnum: ". $self->invnum; }; @@ -120,6 +126,11 @@ sub insert { $dbh->commit or die $dbh->errstr if $oldAutoCommit; + if ( $conf->exists('invoice_send_receipts') ) { + my $send_error = $cust_bill->send; + warn "Error sending receipt: $send_error\n" if $send_error; + } + ''; } @@ -197,10 +208,6 @@ sub cust_bill { =back -=head1 VERSION - -$Id: cust_bill_pay.pm,v 1.13 2003-08-05 00:20:41 khoff Exp $ - =head1 BUGS Delete and replace methods. diff --git a/FS/FS/cust_credit_bill.pm b/FS/FS/cust_credit_bill.pm index a54acb683..0bbc656ea 100644 --- a/FS/FS/cust_credit_bill.pm +++ b/FS/FS/cust_credit_bill.pm @@ -1,7 +1,7 @@ package FS::cust_credit_bill; use strict; -use vars qw( @ISA ); +use vars qw( @ISA $conf ); use FS::UID qw( getotaker ); use FS::Record qw( qsearch qsearchs ); use FS::cust_main; @@ -11,6 +11,11 @@ use FS::cust_bill; @ISA = qw( FS::Record ); +#ask FS::UID to run this stuff for us later +FS::UID->install_callback( sub { + $conf = new FS::Conf; +} ); + =head1 NAME FS::cust_credit_bill - Object methods for cust_credit_bill records @@ -69,6 +74,19 @@ sub table { 'cust_credit_bill'; } 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. +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. @@ -141,11 +159,18 @@ sub cust_credit { qsearchs( 'cust_credit', { 'crednum' => $self->crednum } ); } -=back +=item cust_bill + +Returns the invoice (see L<FS::cust_bill>) -=head1 VERSION +=cut -$Id: cust_credit_bill.pm,v 1.8 2003-08-05 00:20:41 khoff Exp $ +sub cust_bill { + my $self = shift; + qsearchs( 'cust_bill', { 'invnum' => $self->invnum } ); +} + +=back =head1 BUGS |