X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main.pm;h=467ddfe0cd49c9617c8d19fca2d0583c0c894991;hb=9ed8adbf1ab5aba8181903e9c262f2b69dba6cbc;hp=fb64fa3add2917730079ce51f17b070a6ef1ec50;hpb=eb4ff7f73c5d4bdf74a3472448b5a195598ff4cd;p=freeside.git diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index fb64fa3ad..467ddfe0c 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -51,6 +51,7 @@ use FS::payment_gateway; use FS::agent_payment_gateway; use FS::banned_pay; use FS::payinfo_Mixin; +use FS::TicketSystem; @ISA = qw( FS::Record FS::payinfo_Mixin ); @@ -349,7 +350,8 @@ sub insert { $error = $self->check_invoicing_list( $invoicing_list ); if ( $error ) { $dbh->rollback if $oldAutoCommit; - return "checking invoicing_list (transaction rolled back): $error"; + #return "checking invoicing_list (transaction rolled back): $error"; + return $error; } $self->invoicing_list( $invoicing_list ); } @@ -1273,6 +1275,21 @@ sub check { ; return $error if $error; + if ( $conf->exists('cust_main-require_phone') + && ! length($self->daytime) && ! length($self->night) + ) { + + my $daytime_label = FS::Msgcat::_gettext('daytime') =~ /^(daytime)?$/ + ? 'Day Phone' + : FS::Msgcat::_gettext('daytime'); + my $night_label = FS::Msgcat::_gettext('night') =~ /^(night)?$/ + ? 'Night Phone' + : FS::Msgcat::_gettext('night'); + + return "$daytime_label or $night_label is required" + + } + my @addfields = qw( last first company address1 address2 city county state zip country daytime night fax @@ -1422,10 +1439,11 @@ sub check { $payinfo =~ s/[^\d\@]//g; if ( $conf->exists('echeck-nonus') ) { $payinfo =~ /^(\d+)\@(\d+)$/ or return 'invalid echeck account@aba'; + $payinfo = "$1\@$2"; } else { $payinfo =~ /^(\d+)\@(\d{9})$/ or return 'invalid echeck account@aba'; + $payinfo = "$1\@$2"; } - $payinfo = "$1\@$2"; $self->payinfo($payinfo); $self->paycvv(''); @@ -1577,8 +1595,8 @@ sub ncancelled_pkgs { } else { - warn "$me ncancelled_pkgs: searching for packages for custnum ". - $self->custnum + warn "$me ncancelled_pkgs: searching for packages with custnum ". + $self->custnum. "\n" if $DEBUG > 1; @cust_pkg = @@ -1870,17 +1888,29 @@ Options are passed as name-value pairs. Currently available options are: =over 4 -=item time - bills the customer as if it were that time. Specified as a UNIX timestamp; see L). Also see L and L for conversion functions. For example: +=item time + +Bills the customer as if it were that time. Specified as a UNIX timestamp; see L). Also see L and L for conversion functions. For example: use Date::Parse; ... $cust_main->bill( 'time' => str2time('April 20th, 2001') ); -=item invoice_time - used in conjunction with the I