X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fquotation.pm;h=38b9cd2ed08972030a1bd67c725716c29f47596f;hp=f828a3920480d8d809fb5b6953495b9291119458;hb=e50c06b014a5727385087fac381f978603e227ad;hpb=08d94428f0807c3ae2921b5c1f4fe40b5631365f diff --git a/FS/FS/quotation.pm b/FS/FS/quotation.pm index f828a3920..38b9cd2ed 100644 --- a/FS/FS/quotation.pm +++ b/FS/FS/quotation.pm @@ -313,6 +313,17 @@ sub _items_total { }); my $total_setup = $self->total_setup; + my $total_recur = $self->total_recur; + my $setup_show = $total_setup > 0 ? 1 : 0; + my $recur_show = $total_recur > 0 ? 1 : 0; + unless ($setup_show && $recur_show) { + foreach my $quotation_pkg ($self->quotation_pkg) { + $setup_show = 1 if !$setup_show and $quotation_pkg->setup_show_zero; + $recur_show = 1 if !$recur_show and $quotation_pkg->recur_show_zero; + last if $setup_show && $recur_show; + } + } + foreach my $pkg_tax (@setup_tax) { if ($pkg_tax->setup_amount > 0) { $total_setup += $pkg_tax->setup_amount; @@ -323,9 +334,9 @@ sub _items_total { } } - if ( $total_setup > 0 ) { + if ( $setup_show ) { push @items, { - 'total_item' => $self->mt( $self->total_recur > 0 ? 'Total Setup' : 'Total' ), + 'total_item' => $self->mt( $recur_show ? 'Total Setup' : 'Total' ), 'total_amount' => sprintf('%.2f',$total_setup), 'break_after' => ( scalar(@recur_tax) ? 1 : 0 ) }; @@ -333,7 +344,6 @@ sub _items_total { #could/should add up the different recurring frequencies on lines of their own # but this will cover the 95% cases for now - my $total_recur = $self->total_recur; # label these with the frequency foreach my $pkg_tax (@recur_tax) { if ($pkg_tax->recur_amount > 0) { @@ -348,7 +358,7 @@ sub _items_total { } } - if ( $total_recur > 0 ) { + if ( $recur_show ) { push @items, { 'total_item' => $self->mt('Total Recurring'), 'total_amount' => sprintf('%.2f',$total_recur),