if $DEBUG > 1;
# create a tax section if we don't yet have one
+ my @items_tax = $self->_items_tax;
my $tax_description = 'Taxes, Surcharges, and Fees';
my $tax_section =
List::Util::first { $_->{description} eq $tax_description } @sections;
if (!$tax_section) {
$tax_section = { 'description' => $tax_description };
+ push @sections, $tax_section if $multisection and @items_tax > 0;
}
$tax_section->{tax_section} = 1; # mark this section as containing taxes
# if this is an existing tax section, we're merging the tax items into it.
#$tax_section->{'summarized'} = ''; #why? $summarypage && !$tax_weight ? 'Y' : '';
#$tax_section->{'sort_weight'} = $tax_weight;
- my @items_tax = $self->_items_tax;
- push @sections, $tax_section if $multisection and @items_tax > 0;
-
foreach my $tax ( @items_tax ) {
$taxtotal += $tax->{'amount'};
# (yes, or if invoice_sections is enabled; this is just for compatibility)
if ( $self->due_date ) {
$msg .= ' - ' . $self->mt('Please pay by'). ' '.
- $self->due_date2str('short');
+ $self->due_date2str('short')
+ unless $self->conf->config_bool('invoice_omit_due_date');
} elsif ( $self->terms ) {
$msg .= ' - '. $self->mt($self->terms);
}
&& ! $cust_bill_pkg->recur_show_zero;
my @d = ();
- my $svc_label;
-
- # 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',
- $self->conf->{locale},
- );
- $svc_label = $svc_labels[0];
-
- unless ( $cust_pkg->part_pkg->hide_svc_detail
+ my @svc_labels = ();
+ my $svc_label = '';
+
+ unless ( $part_pkg->hide_svc_detail ) {
+
+ # still pass the svc_label through to the template, even if
+ # not displaying it as an ext_description
+ @svc_labels = map &{$escape_function}($_),
+ $cust_pkg->h_labels_short($self->_date,
+ undef,
+ 'I',
+ $self->conf->{locale},
+ );
+ $svc_label = $svc_labels[0];
+
+ }
+
+ unless ( $part_pkg->hide_svc_detail
|| $cust_bill_pkg->hidden )
{
# 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(no_prefix => 1);
+ my $loc = $cust_pkg->location_label;
$loc = substr($loc, 0, $maxlength). '...'
if $format eq 'latex' && length($loc) > $maxlength;
push @d, &{$escape_function}($loc);
my @d = ();
my @seconds = (); # for display of usage info
+ my @svc_labels = ();
my $svc_label = '';
#at least until cust_bill_pkg has "past" ranges in addition to
push @dates, $prev->sdate if $prev;
push @dates, undef if !$prev;
- my @svc_labels = map &{$escape_function}($_),
- $cust_pkg->h_labels_short(@dates,
- 'I',
- $self->conf->{locale});
- $svc_label = $svc_labels[0];
+ unless ( $part_pkg->hide_svc_detail ) {
+ @svc_labels = map &{$escape_function}($_),
+ $cust_pkg->h_labels_short(@dates,
+ 'I',
+ $self->conf->{locale});
+ $svc_label = $svc_labels[0];
+ }
# show service labels, unless...
# the package is set not to display them
# 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(no_prefix => 1);
+ my $loc = $cust_pkg->location_label;
$loc = substr($loc, 0, $maxlength). '...'
if $format eq 'latex' && length($loc) > $maxlength;
push @d, &{$escape_function}($loc);