forked from Wavyzz/dolibarr
Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
@@ -8216,6 +8216,8 @@ class Form
|
||||
{
|
||||
global $conf, $extrafields, $user;
|
||||
|
||||
//var_dump($objectdesc); debug_print_backtrace();
|
||||
|
||||
$objectdescorig = $objectdesc;
|
||||
$objecttmp = null;
|
||||
$InfoFieldList = array();
|
||||
@@ -8226,29 +8228,32 @@ class Form
|
||||
if ($objectfield) { // We must retrieve the objectdesc from the field or extrafield
|
||||
// Example: $objectfield = 'product:options_package' or 'myobject@mymodule:options_myfield'
|
||||
$tmparray = explode(':', $objectfield);
|
||||
$objectdesc = '';
|
||||
|
||||
// Get instance of object from $element
|
||||
$objectforfieldstmp = fetchObjectByElement(0, strtolower($tmparray[0]));
|
||||
|
||||
$reg = array();
|
||||
if (preg_match('/^options_(.*)$/', $tmparray[1], $reg)) {
|
||||
// For a property in extrafields
|
||||
$key = $reg[1];
|
||||
// fetch optionals attributes and labels
|
||||
$extrafields->fetch_name_optionals_label($objectforfieldstmp->table_element);
|
||||
if (is_object($objectforfieldstmp)) {
|
||||
$objectdesc = '';
|
||||
|
||||
if (!empty($extrafields->attributes[$objectforfieldstmp->table_element]['type'][$key]) && $extrafields->attributes[$objectforfieldstmp->table_element]['type'][$key] == 'link') {
|
||||
if (!empty($extrafields->attributes[$objectforfieldstmp->table_element]['param'][$key]['options'])) {
|
||||
$tmpextrafields = array_keys($extrafields->attributes[$objectforfieldstmp->table_element]['param'][$key]['options']);
|
||||
$objectdesc = $tmpextrafields[0];
|
||||
$reg = array();
|
||||
if (preg_match('/^options_(.*)$/', $tmparray[1], $reg)) {
|
||||
// For a property in extrafields
|
||||
$key = $reg[1];
|
||||
// fetch optionals attributes and labels
|
||||
$extrafields->fetch_name_optionals_label($objectforfieldstmp->table_element);
|
||||
|
||||
if (!empty($extrafields->attributes[$objectforfieldstmp->table_element]['type'][$key]) && $extrafields->attributes[$objectforfieldstmp->table_element]['type'][$key] == 'link') {
|
||||
if (!empty($extrafields->attributes[$objectforfieldstmp->table_element]['param'][$key]['options'])) {
|
||||
$tmpextrafields = array_keys($extrafields->attributes[$objectforfieldstmp->table_element]['param'][$key]['options']);
|
||||
$objectdesc = $tmpextrafields[0];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// For a property in ->fields
|
||||
if (array_key_exists($tmparray[1], $objectforfieldstmp->fields)) {
|
||||
$objectdesc = $objectforfieldstmp->fields[$tmparray[1]]['type'];
|
||||
$objectdesc = preg_replace('/^integer[^:]*:/', '', $objectdesc);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// For a property in ->fields
|
||||
if (array_key_exists($tmparray[1], $objectforfieldstmp->fields)) {
|
||||
$objectdesc = $objectforfieldstmp->fields[$tmparray[1]]['type']; // should be integer:ObjectClass...
|
||||
$objectdesc = preg_replace('/^integer[^:]*:/', '', $objectdesc);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8267,7 +8272,7 @@ class Form
|
||||
$InfoFieldList[3] = preg_replace('/:\w*$/', '', $vartmp); // take the filter field
|
||||
|
||||
$classname = $InfoFieldList[0];
|
||||
$classpath = $InfoFieldList[1];
|
||||
$classpath = empty($InfoFieldList[1]) ? '' : $InfoFieldList[1];
|
||||
//$addcreatebuttonornot = empty($InfoFieldList[2]) ? 0 : $InfoFieldList[2];
|
||||
$filter = empty($InfoFieldList[3]) ? '' : $InfoFieldList[3];
|
||||
$sortfield = empty($InfoFieldList[4]) ? '' : $InfoFieldList[4];
|
||||
|
||||
Reference in New Issue
Block a user