New: add ajax_combox function

This commit is contained in:
Regis Houssin 2011-04-25 14:24:43 +00:00
parent eabe073565
commit 5d780a9dc1
3 changed files with 48 additions and 67 deletions

View File

@ -1458,12 +1458,8 @@ if ($action == 'create')
if ($conf->use_javascript_ajax) if ($conf->use_javascript_ajax)
{ {
print '<script> print ajax_combobox('fac_replacement');
jQuery(function() { print ajax_combobox('fac_avoir');
jQuery( "#fac_replacement" ).combobox();
jQuery( "#fac_avoir" ).combobox();
});
</script>';
} }
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'" method="POST">'; print '<form name="add" action="'.$_SERVER["PHP_SELF"].'" method="POST">';

View File

@ -545,7 +545,6 @@ class Form
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$sql.= " WHERE s.entity = ".$conf->entity; $sql.= " WHERE s.entity = ".$conf->entity;
if ($filter) $sql.= " AND ".$filter; if ($filter) $sql.= " AND ".$filter;
//if (is_numeric($selected) && $conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT) $sql.= " AND s.rowid = ".$selected;
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
$sql.= " ORDER BY nom ASC"; $sql.= " ORDER BY nom ASC";
@ -555,71 +554,41 @@ class Form
{ {
if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT && ! $forcecombo) if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT && ! $forcecombo)
{ {
/* //$minLength = (is_numeric($conf->global->COMPANY_USE_SEARCH_TO_SELECT)?$conf->global->COMPANY_USE_SEARCH_TO_SELECT:2);
$minLength = (is_numeric($conf->global->COMPANY_USE_SEARCH_TO_SELECT)?$conf->global->COMPANY_USE_SEARCH_TO_SELECT:2);
$out.= ajax_combobox($htmlname);
$socid = 0; }
if ($selected)
$out.= '<select id="'.$htmlname.'" class="flat" name="'.$htmlname.'">';
if ($showempty) $out.= '<option value="-1">&nbsp;</option>';
$num = $this->db->num_rows($resql);
$i = 0;
if ($num)
{
while ($i < $num)
{ {
$obj = $this->db->fetch_object($resql); $obj = $this->db->fetch_object($resql);
$socid = $obj->rowid?$obj->rowid:''; $label=$obj->nom;
} if ($showtype)
$out.= "\n".'<!-- Input text for third party with Ajax.Autocompleter (select_societes) -->'."\n";
$out.= '<table class="nobordernopadding"><tr class="nocellnopadd">';
$out.= '<td class="nobordernopadding">';
if ($socid == 0)
{
$out.= '<input type="text" size="30" id="search_'.$htmlname.'" name="search_'.$htmlname.'" value="" />';
}
else
{
$out.= '<input type="text" size="30" id="search_'.$htmlname.'" name="search_'.$htmlname.'" value="'.$obj->nom.'" />';
}
$out.= ajax_autocompleter(($socid?$socid:-1),$htmlname,DOL_URL_ROOT.'/societe/ajaxcompanies.php?filter='.urlencode($filter), '', $minLength);
$out.= '</td>';
$out.= '</tr>';
$out.= '</table>';*/
$out.= '<script>
$(function() {
$( "#'.$htmlname.'" ).combobox();
});
</script>';
}
//else
//{
$out.= '<select id="'.$htmlname.'" class="flat" name="'.$htmlname.'">';
if ($showempty) $out.= '<option value="-1">&nbsp;</option>';
$num = $this->db->num_rows($resql);
$i = 0;
if ($num)
{
while ($i < $num)
{ {
$obj = $this->db->fetch_object($resql); if ($obj->client || $obj->fournisseur) $label.=' (';
$label=$obj->nom; if ($obj->client == 1 || $obj->client == 3) $label.=$langs->trans("Customer");
if ($showtype) if ($obj->client == 2 || $obj->client == 3) $label.=($obj->client==3?', ':'').$langs->trans("Prospect");
{ if ($obj->fournisseur) $label.=($obj->client?', ':'').$langs->trans("Supplier");
if ($obj->client || $obj->fournisseur) $label.=' ('; if ($obj->client || $obj->fournisseur) $label.=')';
if ($obj->client == 1 || $obj->client == 3) $label.=$langs->trans("Customer");
if ($obj->client == 2 || $obj->client == 3) $label.=($obj->client==3?', ':'').$langs->trans("Prospect");
if ($obj->fournisseur) $label.=($obj->client?', ':'').$langs->trans("Supplier");
if ($obj->client || $obj->fournisseur) $label.=')';
}
if ($selected > 0 && $selected == $obj->rowid)
{
$out.= '<option value="'.$obj->rowid.'" selected="selected">'.$label.'</option>';
}
else
{
$out.= '<option value="'.$obj->rowid.'">'.$label.'</option>';
}
$i++;
} }
if ($selected > 0 && $selected == $obj->rowid)
{
$out.= '<option value="'.$obj->rowid.'" selected="selected">'.$label.'</option>';
}
else
{
$out.= '<option value="'.$obj->rowid.'">'.$label.'</option>';
}
$i++;
} }
$out.= '</select>'; }
//} $out.= '</select>';
} }
else else
{ {

View File

@ -197,6 +197,22 @@ function ajax_dialog($title,$message,$w=350,$h=150)
return $msg; return $msg;
} }
/**
* Convert combox
*/
function ajax_combobox($htmlname)
{
$msg.= '<script type="text/javascript">
$(function() {
$( "#'.$htmlname.'" ).combobox();
});
</script>';
$msg.= "\n";
return $msg;
}
/** /**
* *
* Enter description here ... * Enter description here ...