use FS::Record qw( qsearch qsearchs dbdef );
use FS::cust_main_Mixin;
use FS::cust_main;
+use FS::cust_pkg;
use FS::cust_refund;
use FS::cust_credit_bill;
use FS::part_pkg;
Books closed flag, empty or `Y'
+=item pkgnum
+
+Desired pkgnum when using experimental package balances.
+
=back
=head1 METHODS
my $cust_main = $self->cust_main;
my $error = send_email(
- 'from' => $conf->config('invoice_from'), #??? well as good as any
+ 'from' => $conf->config('invoice_from', $self->cust_main->agentnum),
+ #invoice_from??? well as good as any
'to' => $conf->config('deletecredits'),
'subject' => 'FREESIDE NOTIFICATION: Credit deleted',
'body' => [
|| $self->ut_foreign_key('reasonnum', 'reason', 'reasonnum')
|| $self->ut_textn('addlinfo')
|| $self->ut_enum('closed', [ '', 'Y' ])
+ || $self->ut_foreign_keyn('pkgnum', 'cust_pkg', 'pkgnum')
;
return $error if $error;
return "amount must be > 0 " if $self->amount <= 0;
+ return "amount must be greater or equal to amount applied"
+ if $self->unapplied < 0;
+
return "Unknown customer"
unless qsearchs( 'cust_main', { 'custnum' => $self->custnum } );