diff options
| author | ivan <ivan> | 2003-11-29 08:32:39 +0000 | 
|---|---|---|
| committer | ivan <ivan> | 2003-11-29 08:32:39 +0000 | 
| commit | 3dbdd7c4b89cfbc9f94aa897ac712f35d3590785 (patch) | |
| tree | 27e8dedd345f7217e0efb74e5cd8fb3573bab0c8 /FS/FS | |
| parent | de08197ed45235e439096c957fab467d3af7b095 (diff) | |
option to send statements when a payment or credit is applied
Diffstat (limited to 'FS/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 e06beaa58..ac638f875 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -499,6 +499,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 913704bef..ea0236deb 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.12 2002-02-07 22:29:34 ivan Exp $ -  =head1 BUGS  Delete and replace methods. diff --git a/FS/FS/cust_credit_bill.pm b/FS/FS/cust_credit_bill.pm index 62215419c..725c6d682 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.7 2002-01-24 16:58:47 ivan Exp $ +sub cust_bill { +  my $self = shift; +  qsearchs( 'cust_bill', { 'invnum' => $self->invnum } ); +} + +=back  =head1 BUGS | 
