X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FTemplate_Mixin.pm;h=b197c6ce20d16cbcbccf37854e5a8e1b40b2084a;hb=7773547423c9cd0e8ac7915de58daacbec7ccf09;hp=031c1f25cef33e3728cd21390efd3c40c6b124ad;hpb=137d53fa8148996a844dff0f179f8c06afe9e592;p=freeside.git diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm index 031c1f25c..b197c6ce2 100644 --- a/FS/FS/Template_Mixin.pm +++ b/FS/FS/Template_Mixin.pm @@ -1063,7 +1063,7 @@ sub print_generic { # start setting up summary subtotals my @summary_subtotals; my $method = $conf->config('summary_subtotals_method'); - if ( $method and $method ne $conf->config($tc.'sections_method') ) { + if ( ( ref($self) ne 'FS::quotation' ) and $method and $method ne $conf->config($tc.'sections_method') ) { # then re-section them by the correct method my %section_method = ( by_category => 1 ); if ( $conf->config('summary_subtotals_method') eq 'location' ) { @@ -3177,7 +3177,9 @@ sub _items_cust_bill_pkg { # for location labels: use default location on the invoice date my $default_locationnum; - if ( $self->custnum ) { + if ( $conf->exists('invoice-all_pkg_addresses') ) { + $default_locationnum = 0; # treat them all as non-default + } elsif ( $self->custnum ) { my $h_cust_main; my @h_search = FS::h_cust_main->sql_h_search($self->_date); $h_cust_main = qsearchs({ @@ -3285,7 +3287,7 @@ sub _items_cust_bill_pkg { my @details = $cust_bill_pkg->details; # and I guess they're never bundled either? - if ( $cust_bill_pkg->setup != 0 ) { + if (( $cust_bill_pkg->setup != 0 ) || ( $cust_bill_pkg->setup_show_zero )) { my $description = $desc; $description .= ' Setup' if $cust_bill_pkg->recur != 0 @@ -3306,7 +3308,7 @@ sub _items_cust_bill_pkg { ), }; } - if ( $cust_bill_pkg->recur != 0 ) { + if (( $cust_bill_pkg->recur != 0 ) || ( $cust_bill_pkg->recur_show_zero )) { #push @b, { $r = { 'pkgnum' => $cust_bill_pkg->pkgpart, #so it displays in Ref @@ -3356,6 +3358,7 @@ sub _items_cust_bill_pkg { # append the word 'Setup' to the setup line if there's going to be # a recur line for the same package (i.e. not a one-time charge) + # XXX localization my $description = $desc; $description .= ' Setup' if $cust_bill_pkg->recur != 0 @@ -3376,8 +3379,11 @@ sub _items_cust_bill_pkg { # always pass the svc_label through to the template, even if # not displaying it as an ext_description my @svc_labels = map &{$escape_function}($_), - $cust_pkg->h_labels_short($self->_date, undef, 'I'); - + $cust_pkg->h_labels_short($self->_date, + undef, + 'I', + $self->conf->{locale}, + ); $svc_label = $svc_labels[0]; unless ( $cust_pkg->part_pkg->hide_svc_detail @@ -3390,7 +3396,7 @@ sub _items_cust_bill_pkg { # location, and we're not grouping items by location already if ( $cust_pkg->locationnum != $default_locationnum and !defined($locationnum) ) { - my $loc = $cust_pkg->location_label; + my $loc = $cust_pkg->location_label(no_prefix => 1); $loc = substr($loc, 0, $maxlength). '...' if $format eq 'latex' && length($loc) > $maxlength; push @d, &{$escape_function}($loc); @@ -3467,7 +3473,9 @@ sub _items_cust_bill_pkg { push @dates, undef if !$prev; my @svc_labels = map &{$escape_function}($_), - $cust_pkg->h_labels_short(@dates, 'I'); + $cust_pkg->h_labels_short(@dates, + 'I', + $self->conf->{locale}); $svc_label = $svc_labels[0]; # show service labels, unless... @@ -3498,7 +3506,7 @@ sub _items_cust_bill_pkg { # location, and we're not grouping items by location already if ( $cust_pkg->locationnum != $default_locationnum and !defined($locationnum) ) { - my $loc = $cust_pkg->location_label; + my $loc = $cust_pkg->location_label(no_prefix => 1); $loc = substr($loc, 0, $maxlength). '...' if $format eq 'latex' && length($loc) > $maxlength; push @d, &{$escape_function}($loc);