diff --git a/html/js/card.js b/html/js/card.js index ef115ce38..aed90e9fd 100644 --- a/html/js/card.js +++ b/html/js/card.js @@ -325,6 +325,12 @@ function search_get_card(obj) } else { queryString+="&accvis=0"; } + if ( obj.elements['amount_from_type']) { + queryString+="&amount_from_type="+obj.elements['amount_from_type'].value; + } + if (obj.elements['page_card']) { + queryString+="&page_card="+obj.elements["page_card"].value; + } queryString=encodeURI(queryString); $('asearch').innerHTML=loading(); diff --git a/include/ajax/ajax_card.php b/include/ajax/ajax_card.php index 199ca0460..aa73b65a3 100644 --- a/include/ajax/ajax_card.php +++ b/include/ajax/ajax_card.php @@ -441,14 +441,24 @@ case 'fs': $r.=''; $r.=dossier::hidden().HtmlInput::hidden('op','fs'); $array=array(); - foreach (array('accvis','inp','jrn','label','typecard','price','tvaid') as $i) + + // to navigate + $page_card=$http->get("page_card","number",0); + + // save previous info + $hidden=""; + foreach (array('accvis','inp','jrn','label','typecard','price','tvaid','amount_from_type') as $i) { if (isset(${$i}) ) { $r.=HtmlInput::hidden($i,${$i}); + $hidden.=HtmlInput::hidden($i,${$i}); $sql_array[$i]=${$i}; } } + $r.=$hidden; + $r.=""; + $sql_array["query"]=$query; /* what is the type of the ledger */ $type="GL"; @@ -477,25 +487,32 @@ case 'fs': break; } /* We limit the search to MAX_SEARCH_CARD records */ - $sql=$sql.' order by vw_name limit '.MAX_SEARCH_CARD; - $a=$cn->get_array($sql); - for($i=0;$iget_value("select count(*) from ($sql) as c"); + + $record_start=$page_card*MAX_SEARCH_CARD; + $sql.=' limit '.MAX_SEARCH_CARD.' offset '.$record_start; + + $aFound=$cn->get_array($sql); + $nb_found=count($aFound); + for($i=0;$i<$nb_found;$i++) + { + $array[$i]['quick_code']=$aFound[$i]['quick_code']; + $array[$i]['name']=h($aFound[$i]['vw_name']); + $array[$i]['accounting']=$aFound[$i]['accounting']; + $array[$i]['first_name']=h($aFound[$i]['vw_first_name']); + $array[$i]['description']=h($aFound[$i]['vw_description']); $array[$i]['javascript']=sprintf("set_value('%s','%s');", $inp,$array[$i]['quick_code']); $array[$i]['javascript'].=sprintf("set_value('%s','%s');", - $label,j(h(strip_tags($a[$i]['vw_name'])))); + $label,j(h(strip_tags($aFound[$i]['vw_name'])))); + /* if it is a ledger of sales we use vw_buy if it is a ledger of purchase we use vw_sell*/ if ( $type=="ACH" ){ - $amount=(isNumber($a[$i]['vw_buy']) == 1 )?$a[$i]['vw_buy']:0; + $amount=(isNumber($aFound[$i]['vw_buy']) == 1 )?$aFound[$i]['vw_buy']:0; $array[$i]['javascript'].=sprintf("set_value('%s','%s');", $price,$amount); } @@ -505,7 +522,7 @@ case 'fs': $price,$amount); } $array[$i]['javascript'].=sprintf("set_value('%s','%s');", - $tvaid,$a[$i]['tva_id']); + $tvaid,$aFound[$i]['tva_id']); $array[$i]['javascript'].="removeDiv('search_card');"; }//foreach diff --git a/include/template/card_result.php b/include/template/card_result.php index 6c38fad65..466e7d735 100644 --- a/include/template/card_result.php +++ b/include/template/card_result.php @@ -5,6 +5,34 @@
+ '; + if ( $page_card != 0 ) { + // show previous arrow to left + echo '
  • '; + echo '
    '; + $url=$sql_array; + $url["page_card"]=$page_card-1; + echo HtmlInput::array_to_hidden(array('accvis','inp','jrn','label','typecard','price','tvaid','amount_from_type','page_card','query'), $url); + echo HtmlInput::submit("previous","<"); + echo '
    '; + echo '
  • '; + } + if ( $record_start < $total_card && $nb_found >= MAX_SEARCH_CARD) { + echo '
  • '; + echo '
    '; + $url=$sql_array; + $url["page_card"]=$page_card+1; + echo HtmlInput::array_to_hidden(array('accvis','inp','jrn','label','typecard','price','tvaid','amount_from_type','page_card','query'), $url); + + echo HtmlInput::submit("next",">"); + echo '
    '; + echo '
  • '; + } + echo ''; + ?> + @@ -40,7 +68,7 @@ if ( $accvis == 1 ) :
    - +