mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-12 12:31:26 +01:00
Fix: select list on external table
This commit is contained in:
@@ -683,9 +683,9 @@ class ExtraFields
|
|||||||
}
|
}
|
||||||
elseif ($type == 'sellist')
|
elseif ($type == 'sellist')
|
||||||
{
|
{
|
||||||
|
|
||||||
$out='<select class="flat" name="options_'.$key.'">';
|
$out='<select class="flat" name="options_'.$key.'">';
|
||||||
if (is_array($param['options'])) {
|
if (is_array($param['options']))
|
||||||
|
{
|
||||||
$param_list=array_keys($param['options']);
|
$param_list=array_keys($param['options']);
|
||||||
$InfoFieldList = explode(":", $param_list[0]);
|
$InfoFieldList = explode(":", $param_list[0]);
|
||||||
|
|
||||||
@@ -696,38 +696,38 @@ class ExtraFields
|
|||||||
|
|
||||||
$keyList='rowid';
|
$keyList='rowid';
|
||||||
|
|
||||||
if (count($InfoFieldList)>=3)
|
if (count($InfoFieldList)>=3)
|
||||||
$keyList=$InfoFieldList[2].' as rowid';
|
$keyList=$InfoFieldList[2].' as rowid';
|
||||||
if (count($InfoFieldList)>=4) {
|
if (count($InfoFieldList)>=4) {
|
||||||
list($parentName, $parentField) = explode('|', $InfoFieldList[3]);
|
list($parentName, $parentField) = explode('|', $InfoFieldList[3]);
|
||||||
$keyList.= ', '.$parentField;
|
$keyList.= ', '.$parentField;
|
||||||
}
|
}
|
||||||
|
|
||||||
$fields_label = explode('|',$InfoFieldList[1]);
|
$fields_label = explode('|',$InfoFieldList[1]);
|
||||||
if(is_array($fields_label)) {
|
if(is_array($fields_label)) {
|
||||||
$keyList .=', ';
|
$keyList .=', ';
|
||||||
$keyList .= implode(', ', $fields_label);
|
$keyList .= implode(', ', $fields_label);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fields_label = explode('|',$InfoFieldList[1]);
|
$fields_label = explode('|',$InfoFieldList[1]);
|
||||||
if(is_array($fields_label)) {
|
if(is_array($fields_label)) {
|
||||||
$keyList .=', ';
|
$keyList .=', ';
|
||||||
$keyList .= implode(', ', $fields_label);
|
$keyList .= implode(', ', $fields_label);
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = 'SELECT '.$keyList;
|
$sql = 'SELECT '.$keyList;
|
||||||
$sql.= ' FROM '.MAIN_DB_PREFIX .$InfoFieldList[0];
|
$sql.= ' FROM '.MAIN_DB_PREFIX .$InfoFieldList[0];
|
||||||
//$sql.= ' WHERE entity = '.$conf->entity;
|
//$sql.= ' WHERE entity = '.$conf->entity;
|
||||||
|
print $sql;
|
||||||
|
|
||||||
dol_syslog(get_class($this).'::showInputField type=sellist sql='.$sql);
|
dol_syslog(get_class($this).'::showInputField type=sellist sql='.$sql);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
|
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
$out.='<option value="0"> </option>';
|
$out.='<option value="0"> </option>';
|
||||||
$num = $this->db->num_rows($resql);
|
$num = $this->db->num_rows($resql);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
if ($num)
|
while ($i < $num)
|
||||||
{
|
{
|
||||||
$labeltoshow='';
|
$labeltoshow='';
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
@@ -764,16 +764,18 @@ class ExtraFields
|
|||||||
$translabel=$langs->trans($obj->$InfoFieldList[1]);
|
$translabel=$langs->trans($obj->$InfoFieldList[1]);
|
||||||
if ($translabel!=$obj->$InfoFieldList[1]) {
|
if ($translabel!=$obj->$InfoFieldList[1]) {
|
||||||
$labeltoshow=dol_trunc($translabel,18);
|
$labeltoshow=dol_trunc($translabel,18);
|
||||||
}else {
|
}
|
||||||
|
else {
|
||||||
$labeltoshow=dol_trunc($obj->$InfoFieldList[1],18);
|
$labeltoshow=dol_trunc($obj->$InfoFieldList[1],18);
|
||||||
}
|
}
|
||||||
|
if (empty($labeltoshow)) $labeltoshow='(not defined)';
|
||||||
if ($value==$obj->rowid)
|
if ($value==$obj->rowid)
|
||||||
{
|
{
|
||||||
$out.='<option value="'.$obj->rowid.'" selected="selected">'.$labeltoshow.'</option>';
|
$out.='<option value="'.$obj->rowid.'" selected="selected">'.$labeltoshow.'</option>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($InfoFieldList[3])) {
|
if (!empty($InfoFieldList[3]))
|
||||||
|
{
|
||||||
$parent = $parentName.':'.$obj->{$parentField};
|
$parent = $parentName.':'.$obj->{$parentField};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -781,9 +783,9 @@ class ExtraFields
|
|||||||
$out.= ($value==$obj->rowid?' selected="selected"':'');
|
$out.= ($value==$obj->rowid?' selected="selected"':'');
|
||||||
$out.= (!empty($parent)?' parent="'.$parent.'"':'');
|
$out.= (!empty($parent)?' parent="'.$parent.'"':'');
|
||||||
$out.='>'.$labeltoshow.'</option>';
|
$out.='>'.$labeltoshow.'</option>';
|
||||||
|
|
||||||
$i++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$i++;
|
||||||
}
|
}
|
||||||
$this->db->free();
|
$this->db->free();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user