diff options
author | ivan <ivan> | 2003-09-26 13:04:24 +0000 |
---|---|---|
committer | ivan <ivan> | 2003-09-26 13:04:24 +0000 |
commit | cf004a5afe85340db2b54978ca540ab6c93c3863 (patch) | |
tree | ff921936a83cdbb535a91a951b01c228de58bfe9 /FS/FS | |
parent | 06ef2ebbf1ac9bb45a9af2899227b34bf7bb3ebd (diff) |
re-setup option to re-charge setup fee
Diffstat (limited to 'FS/FS')
-rw-r--r-- | FS/FS/cust_main.pm | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index cf8589a8b..d3168424a 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -912,15 +912,19 @@ conjunction with the collect method. Options are passed as name-value pairs. -The only currently available option is `time', which bills the customer as if -it were that time. It is specified as a UNIX timestamp; see -L<perlfunc/"time">). Also see L<Time::Local> and L<Date::Parse> for conversion -functions. For example: +Currently available options are: + +resetup - if set true, re-charges setup fees. + +time - bills the customer as if it were that time. Specified as a UNIX +timestamp; see L<perlfunc/"time">). Also see L<Time::Local> and +L<Date::Parse> for conversion functions. For example: use Date::Parse; ... $cust_main->bill( 'time' => str2time('April 20th, 2001') ); + If there is an error, returns the error, otherwise returns false. =cut @@ -975,7 +979,7 @@ sub bill { # bill setup my $setup = 0; - unless ( $cust_pkg->setup ) { + if ( !$cust_pkg->setup || $options{'resetup'} ) { my $setup_prog = $part_pkg->getfield('setup'); $setup_prog =~ /^(.*)$/ or do { $dbh->rollback if $oldAutoCommit; @@ -995,7 +999,7 @@ sub bill { return "Error eval-ing part_pkg->setup pkgpart ". $part_pkg->pkgpart. "(expression $setup_prog): $@"; } - $cust_pkg->setfield('setup',$time); + $cust_pkg->setfield('setup', $time) unless $cust_pkg->setup; $cust_pkg_mod_flag=1; } |