New: Can choose number of character before triggering Ajax
autocomplete of product search.
This commit is contained in:
parent
38c828ceb4
commit
98ab396837
@ -907,14 +907,15 @@ class Form
|
|||||||
/**
|
/**
|
||||||
* Return list of products for customer in Ajax if Ajax activated or go to select_produits_do
|
* Return list of products for customer in Ajax if Ajax activated or go to select_produits_do
|
||||||
*
|
*
|
||||||
* @param selected Preselected products
|
* @param int $selected Preselected products
|
||||||
* @param htmlname Name of HTML seletc field (must be unique in page)
|
* @param string $htmlname Name of HTML seletc field (must be unique in page)
|
||||||
* @param filtertype Filter on product type (''=nofilter, 0=product, 1=service)
|
* @param int $filtertype Filter on product type (''=nofilter, 0=product, 1=service)
|
||||||
* @param limit Limit on number of returned lines
|
* @param int $limit Limit on number of returned lines
|
||||||
* @param price_level Level of price to show
|
* @param int $price_level Level of price to show
|
||||||
* @param status -1=Return all products, 0=Products not on sell, 1=Products on sell
|
* @param int $status -1=Return all products, 0=Products not on sell, 1=Products on sell
|
||||||
* @param finished 2=all, 1=finished, 0=raw material
|
* @param int $finished 2=all, 1=finished, 0=raw material
|
||||||
* @param $selected_input_value Value of preselected input text (with ajax)
|
* @param string $selected_input_value Value of preselected input text (with ajax)
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
function select_produits($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$status=1,$finished=2,$selected_input_value='',$hidelabel=0)
|
function select_produits($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$status=1,$finished=2,$selected_input_value='',$hidelabel=0)
|
||||||
{
|
{
|
||||||
@ -947,16 +948,16 @@ class Form
|
|||||||
/**
|
/**
|
||||||
* Return list of products for a customer
|
* Return list of products for a customer
|
||||||
*
|
*
|
||||||
* @param selected Preselected product
|
* @param int $selected Preselected product
|
||||||
* @param htmlname Name of select html
|
* @param string $htmlname Name of select html
|
||||||
* @param filtertype Filter on product type (''=nofilter, 0=product, 1=service)
|
* @param string $filtertype Filter on product type (''=nofilter, 0=product, 1=service)
|
||||||
* @param limit Limite sur le nombre de lignes retournees
|
* @param int $limit Limite sur le nombre de lignes retournees
|
||||||
* @param price_level Level of price to show
|
* @param int $price_level Level of price to show
|
||||||
* @param filterkey Filter on product
|
* @param string $filterkey Filter on product
|
||||||
* @param status -1=Return all products, 0=Products not on sell, 1=Products on sell
|
* @param int $status -1=Return all products, 0=Products not on sell, 1=Products on sell
|
||||||
* @param finished Filter on finished field: 2=No filter
|
* @param int $finished Filter on finished field: 2=No filter
|
||||||
* @param disableout Disable print output
|
* @param int $disableout Disable print output
|
||||||
* @return array Array of keys for json
|
* @return array Array of keys for json
|
||||||
*/
|
*/
|
||||||
function select_produits_do($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$filterkey='',$status=1,$finished=2,$disableout=0)
|
function select_produits_do($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$filterkey='',$status=1,$finished=2,$disableout=0)
|
||||||
{
|
{
|
||||||
@ -976,16 +977,16 @@ class Form
|
|||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_lang as pl ON pl.fk_product = p.rowid AND pl.lang='". $langs->getDefaultLang() ."'";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_lang as pl ON pl.fk_product = p.rowid AND pl.lang='". $langs->getDefaultLang() ."'";
|
||||||
}
|
}
|
||||||
$sql.= ' WHERE p.entity IN (0,'.(! empty($conf->entities['product']) ? $conf->entities['product'] : $conf->entity).')';
|
$sql.= ' WHERE p.entity IN (0,'.(! empty($conf->entities['product']) ? $conf->entities['product'] : $conf->entity).')';
|
||||||
if($finished == 0)
|
if ($finished == 0)
|
||||||
{
|
{
|
||||||
$sql.= " AND p.finished = ".$finished;
|
$sql.= " AND p.finished = ".$finished;
|
||||||
}
|
}
|
||||||
elseif($finished == 1)
|
elseif ($finished == 1)
|
||||||
{
|
{
|
||||||
$sql.= " AND p.finished = ".$finished;
|
$sql.= " AND p.finished = ".$finished;
|
||||||
if ($status >= 0) $sql.= " AND p.tosell = ".$status;
|
if ($status >= 0) $sql.= " AND p.tosell = ".$status;
|
||||||
}
|
}
|
||||||
elseif($status >= 0)
|
elseif ($status >= 0)
|
||||||
{
|
{
|
||||||
$sql.= " AND p.tosell = ".$status;
|
$sql.= " AND p.tosell = ".$status;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,7 +49,7 @@ ConfirmAjax= Utiliser les popups de confirmation Ajax
|
|||||||
UseSearchToSelectCompany= Utiliser un champ avec autocomplétion pour choisir un tiers (plutôt qu'une liste déroulante).<br><br>Notez que si vous avez un nombre important de produits ou services (> 100 000), vous pouvez améliorer les performances en définissant la constante SOCIETE_DONOTSEARCH_ANYWHERE à 1 dans Configuration->Divers. La recherche sera alors limitée au début de la chaine.
|
UseSearchToSelectCompany= Utiliser un champ avec autocomplétion pour choisir un tiers (plutôt qu'une liste déroulante).<br><br>Notez que si vous avez un nombre important de produits ou services (> 100 000), vous pouvez améliorer les performances en définissant la constante SOCIETE_DONOTSEARCH_ANYWHERE à 1 dans Configuration->Divers. La recherche sera alors limitée au début de la chaine.
|
||||||
ActivityStateToSelectCompany= Ajouter une option de filtrage lors des recherches pour afficher/masquer les tiers en exercice ou ayant cessés d'exercer
|
ActivityStateToSelectCompany= Ajouter une option de filtrage lors des recherches pour afficher/masquer les tiers en exercice ou ayant cessés d'exercer
|
||||||
SearchFilter=Options des filtres de recherche
|
SearchFilter=Options des filtres de recherche
|
||||||
NumberOfKeyToSearch=Nb caractères déclenchant la recherche: %s
|
NumberOfKeyToSearch=Nb carac. déclenchant recherche: %s
|
||||||
ViewFullDateActions= Visualiser les dates des actions en entier dans la fiche tiers
|
ViewFullDateActions= Visualiser les dates des actions en entier dans la fiche tiers
|
||||||
NotAvailableWhenAjaxDisabled= Non disponible quand Ajax désactivé
|
NotAvailableWhenAjaxDisabled= Non disponible quand Ajax désactivé
|
||||||
JavascriptDisabled= Javascript désactivé
|
JavascriptDisabled= Javascript désactivé
|
||||||
|
|||||||
@ -33,12 +33,16 @@ require_once(DOL_DOCUMENT_ROOT."/includes/barcode/html.formbarcode.class.php");
|
|||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
if (!$user->admin)
|
if (! $user->admin) accessforbidden();
|
||||||
accessforbidden();
|
|
||||||
|
|
||||||
$action = GETPOST("action");
|
$action = GETPOST("action");
|
||||||
$value = GETPOST("value");
|
$value = GETPOST("value");
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Actions
|
||||||
|
*/
|
||||||
|
|
||||||
if ($action == 'nbprod')
|
if ($action == 'nbprod')
|
||||||
{
|
{
|
||||||
$res = dolibarr_set_const($db, "PRODUIT_LIMIT_SIZE", $value,'chaine',0,'',$conf->entity);
|
$res = dolibarr_set_const($db, "PRODUIT_LIMIT_SIZE", $value,'chaine',0,'',$conf->entity);
|
||||||
@ -81,7 +85,6 @@ else if ($action == 'set')
|
|||||||
$res = dolibarr_set_const($db, "PRODUIT_USE_ECOTAXE", $ecotaxe,'chaine',0,'',$conf->entity);
|
$res = dolibarr_set_const($db, "PRODUIT_USE_ECOTAXE", $ecotaxe,'chaine',0,'',$conf->entity);
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
|
||||||
if($action)
|
if($action)
|
||||||
{
|
{
|
||||||
if (! $res > 0) $error++;
|
if (! $res > 0) $error++;
|
||||||
@ -190,7 +193,12 @@ if (! $conf->use_javascript_ajax)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<td width="60" align="right">';
|
print '<td width="60" align="right">';
|
||||||
print $html->selectyesno("activate_usesearchtoselectproduct",$conf->global->PRODUIT_USE_SEARCH_TO_SELECT,1);
|
$arrval=array('0'=>$langs->trans("No"),
|
||||||
|
'1'=>$langs->trans("Yes").' ('.$langs->trans("NumberOfKeyToSearch",1).')',
|
||||||
|
'2'=>$langs->trans("Yes").' ('.$langs->trans("NumberOfKeyToSearch",2).')',
|
||||||
|
'3'=>$langs->trans("Yes").' ('.$langs->trans("NumberOfKeyToSearch",3).')',
|
||||||
|
);
|
||||||
|
print $html->selectarray("activate_usesearchtoselectproduct",$arrval,$conf->global->PRODUIT_USE_SEARCH_TO_SELECT);
|
||||||
print '</td><td align="right">';
|
print '</td><td align="right">';
|
||||||
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
print '<input type="submit" class="button" value="'.$langs->trans("Modify").'">';
|
||||||
print "</td>";
|
print "</td>";
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user