<SCRIPT TYPE="text/javascript">
+ var num_open_invoices = new Array;
+
function clearhint_invnum() {
if ( this.value == 'Not found' || this.value == 'Multiple' ) {
customer_select.style.display = 'none';
return false;
- } else if ( customerArray.length == 5 ) {
+ } else if ( customerArray.length == 6 ) {
custnum_obj.value = customerArray[0];
custnum_obj.style.color = '#000000';
update_balance_text(searchrow, customerArray[2]);
update_status_text( searchrow, customerArray[3]);
update_status_color(searchrow, '#'+customerArray[4]);
+ update_num_open(searchrow, customerArray[5]);
customer.style.display = '';
customer_select.style.display = 'none';
update_balance_text(searchrow, '');
update_status_text(searchrow, '');
update_status_color(searchrow, '#000000');
+ update_num_open(searchrow, 0);
function search_invnum_update(customers) {
update_balance_text(searchrow, '');
update_status_text( searchrow, '');
update_status_color(searchrow, '#000000');
+ update_num_open(searchrow, 0);
function search_custnum_update(customers) {
document.getElementById('balance'+rownum+'_text').innerHTML = newval;
}
+ function update_num_open(rownum, newval) {
+ num_open_invoices[rownum] = newval;
+ }
</SCRIPT>
function custnum_update_callback(rownum, prefix) {
var custnum = document.getElementById('custnum'+rownum).value;
- document.getElementById('enable_app'+rownum).disabled = (custnum == 0);
+ document.getElementById('enable_app'+rownum).disabled = (
+ custnum == 0 ||
+ num_open_invoices[rownum] < 2
+ );
% if ( $use_discounts ) {
select_discount_term(rownum, prefix);
% }
% my @cust_main = smart_search( 'search' => $string,
% 'no_fuzzy_on_exact' => 1, #pref?
% );
-% my $return = [ map [ $_->custnum, $_->name, $_->balance, $_->ucfirst_status, $_->statuscolor ], @cust_main ];
+% my $return = [ map [ $_->custnum, $_->name, $_->balance, $_->ucfirst_status, $_->statuscolor, scalar($_->open_cust_bill) ], @cust_main ];
%
<% objToJson($return) %>
% } elsif ( $sub eq 'invnum_search' ) {
'hashref' => $hashref,
'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
});
- return [ $c->custnum, $c->name, $c->balance, $c->ucfirst_status, $c->statuscolor ]
+ return [ $c->custnum, $c->name, $c->balance, $c->ucfirst_status, $c->statuscolor, scalar($c->open_cust_bill) ]
if $c;
[];
}