;
}
+ ###
+ # invoice terms
+ ###
+
+ if ( $params->{'invoice_terms'} =~ /^([\w ]+)$/ ) {
+ my $terms = $1;
+ if ( $1 eq 'NULL' ) {
+ push @where,
+ "( cust_main.invoice_terms IS NULL OR cust_main.invoice_terms = '' )";
+ } else {
+ push @where,
+ "cust_main.invoice_terms IS NOT NULL",
+ "cust_main.invoice_terms = '$1'";
+ }
+ }
+
##
# amounts
##
ID = "invoice_terms"
<% $opt{'disabled'} ? 'DISABLED' : ''%>
>
- <OPTION VALUE=""><% $empty_label %>
+# #false laziness w/select-table.html
+% while ( @pre_options ) {
+% my $pre_opt = shift(@pre_options);
+% my $pre_label = shift(@pre_options);
+% my $selected = # ( ref($value) && $value->{$pre_opt} ) ||
+% ( $curr_value eq $pre_opt );
+ <OPTION VALUE="<% $pre_opt %>"
+ <% $selected ? 'SELECTED' : '' %>
+ ><% $pre_label %>
+% }
+
+ <OPTION VALUE="<% $empty_value %>"><% $empty_label %>
% foreach my $term ( @terms ) {
<OPTION VALUE="<% $term %>" <% $curr_value eq $term ? ' SELECTED' : '' %>><% $term %>
% }
($conf->config('invoice_default_terms') || 'Payable upon receipt').
')';
+my $empty_value = $opt{'empty_value'} || '';
+
my @terms = ( 'Payable upon receipt',
( map "Net $_", 0, 10, 15, 20, 30, 45, 60 ),
);
+my @pre_options = $opt{pre_options} ? @{ $opt{pre_options} } : ();
+
</%init>
#scalars
my @scalars = qw (
agentnum status cancelled_pkgs cust_fields flattened_pkgs custbatch
- no_censustract paydate_year paydate_month
+ no_censustract paydate_year paydate_month invoice_terms
);
for my $param ( @scalars ) {
}
}
</SCRIPT>
+
+ <TR>
+ <TD ALIGN="right">Invoice terms</TD>
+ <TD>
+ <% include( '/elements/select-terms.html',
+ 'pre_options' => [ '' => 'all' ],
+ 'empty_value' => 'NULL',
+ )
+ %>
+ </TD>
+ </TR>
<% include( '/elements/tr-input-lessthan_greaterthan.html',
label => 'Current balance',