X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fcust-part_pkg.cgi;h=e129347ec08c584c444d8dbe6e1227b0b78b9800;hb=0f5f7222dd6607c11e50020e0f6b4d813fc64cb9;hp=7aebda40c725b0d827d66181cd66570a214c66b0;hpb=59c29eed0653360378f9c5428c1c3c5833c3b387;p=freeside.git diff --git a/httemplate/misc/cust-part_pkg.cgi b/httemplate/misc/cust-part_pkg.cgi index 7aebda40c..e129347ec 100644 --- a/httemplate/misc/cust-part_pkg.cgi +++ b/httemplate/misc/cust-part_pkg.cgi @@ -3,7 +3,6 @@ my( $custnum, $prospectnum, $classnum ) = $cgi->param('arg'); - my $agent; my $cust_main; if ( $custnum ) { @@ -32,16 +31,34 @@ my @part_pkg = qsearch({ 'order_by' => 'ORDER BY pkg', }); -my $date_format = FS::Conf->new->config('date_format') || '%m/%d/%Y'; +my $conf = new FS::Conf; + +my $date_format = $conf->config('date_format') || '%m/%d/%Y'; + +my $default_start_date = $conf->exists('order_pkg-no_start_date') + ? '' + : $cust_main ? $cust_main->next_bill_date + : ''; + +#num_billing_pkgs may be slightly better (will allow you to fill in a start +# date in the weird edge case where you're using sync_next_bill and +# prorate_defer_bill in flat.pm and there's one-time charges hanging around +# for this customer but no active ones) +#but we don't have an easy method for that, and definitely don't want to pull +# all package objects +my $num_ncancelled_pkgs = $cust_main ? $cust_main->num_ncancelled_pkgs : 0; my @return = map { - my $start_date = $_->default_start_date($cust_main); + my $start_date = $_->delay_start_date + || $default_start_date; $start_date = time2str($date_format, $start_date) if $start_date; ( $_->pkgpart, $_->pkg_comment, $_->can_discount, - $_->can_start_date, + $_->can_start_date( + num_ncancelled_pkgs => $num_ncancelled_pkgs, + ), $start_date, ) }