X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fquotation.pm;h=0549853902a0d6871848e7c87be0aa8f9471112e;hb=3cbdd85a96348a287623e3b97c937c7749e99392;hp=db8b0fcb38ed05be5e01cbbd001d6d72e6a75bfc;hpb=8b70832328eb02dc9253dab7b436c6479b588162;p=freeside.git diff --git a/FS/FS/quotation.pm b/FS/FS/quotation.pm index db8b0fcb3..054985390 100644 --- a/FS/FS/quotation.pm +++ b/FS/FS/quotation.pm @@ -138,6 +138,9 @@ sub check { $self->usernum($FS::CurrentUser::CurrentUser->usernum) unless $self->usernum; + return 'confidence must be an integer between 1 and 100' + if length($self->confidence) && (($self->confidence < 1) || ($self->confidence > 100)); + return 'prospectnum or custnum must be specified' if ! $self->prospectnum && ! $self->custnum; @@ -277,8 +280,8 @@ sub _items_sections { my $part_pkg = $pkg->part_pkg; my $recur_freq = $part_pkg->freq; - $show{$recur_freq} = 1 if $pkg->unitrecur > 0; - $show{0} = 1 if $pkg->unitsetup > 0; + $show{$recur_freq} = 1 if $pkg->unitrecur > 0 or $pkg->recur_show_zero; + $show{0} = 1 if $pkg->unitsetup > 0 or $pkg->setup_show_zero; ($subtotals{0} ||= 0) += $pkg->setup + $pkg->setup_tax; ($subtotals{$recur_freq} ||= 0) += $pkg->recur + $pkg->recur_tax; @@ -1050,7 +1053,11 @@ sub _items_pkg { $quotation_pkg->get('unit'.$setuprecur)); $this_item->{'amount'} = sprintf('%.2f', $this_item->{'unit_amount'} * $quotation_pkg->quantity); - next if $this_item->{'amount'} == 0; + next if $this_item->{'amount'} == 0 and !( + $setuprecur eq 'setup' + ? $quotation_pkg->setup_show_zero + : $quotation_pkg->recur_show_zero + ); if ( $preref ) { $this_item->{'preref_html'} = &$preref($quotation_pkg);