From 4c74b34e62caadad4db0c52cef12f5c045424cf3 Mon Sep 17 00:00:00 2001 From: ATM-Nicolas Date: Tue, 27 Oct 2020 16:31:22 +0100 Subject: [PATCH 01/22] NEW : Add filters and sort on product unit column --- htdocs/product/list.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/htdocs/product/list.php b/htdocs/product/list.php index db77e7714f1..ad2e034e3c5 100644 --- a/htdocs/product/list.php +++ b/htdocs/product/list.php @@ -79,6 +79,7 @@ $search_accountancy_code_buy_export = GETPOST("search_accountancy_code_buy_expor $search_finished = GETPOST("search_finished", 'int'); $optioncss = GETPOST('optioncss', 'alpha'); $type = GETPOST("type", "int"); +$search_units = GETPOST('search_units', 'int'); //Show/hide child products if (!empty($conf->variants->enabled) && !empty($conf->global->PRODUIT_ATTRIBUTES_HIDECHILD)) { @@ -299,6 +300,7 @@ if (empty($reshook)) $search_accountancy_code_buy_intra = ''; $search_accountancy_code_buy_export = ''; $search_array_options = array(); + $search_units = ''; } // Mass actions @@ -420,6 +422,7 @@ if ($search_accountancy_code_sell_export) $sql .= natural_search('p.accountancy_ if ($search_accountancy_code_buy) $sql .= natural_search('p.accountancy_code_buy', $search_accountancy_code_buy); if ($search_accountancy_code_buy_intra) $sql .= natural_search('p.accountancy_code_buy_intra', $search_accountancy_code_buy_intra); if ($search_accountancy_code_buy_export) $sql .= natural_search('p.accountancy_code_buy_export', $search_accountancy_code_buy_export); +if(!empty($conf->global->PRODUCT_USE_UNITS) && $search_units) $sql .= natural_search('cu.rowid', $search_units); // Add where from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; @@ -756,6 +759,7 @@ if ($resql) if (!empty($arrayfields['cu.label']['checked'])) { print ''; + print $form->selectUnits($search_units, 'search_units', 1); print ''; } @@ -917,7 +921,7 @@ if ($resql) if (!empty($arrayfields['p.surface_units']['checked'])) print_liste_field_titre($arrayfields['p.surface_units']['label'], $_SERVER['PHP_SELF'], 'p.surface_units', '', $param, '', $sortfield, $sortorder, 'center '); if (!empty($arrayfields['p.volume']['checked'])) print_liste_field_titre($arrayfields['p.volume']['label'], $_SERVER['PHP_SELF'], 'p.volume', '', $param, '', $sortfield, $sortorder, 'center '); if (!empty($arrayfields['p.volume_units']['checked'])) print_liste_field_titre($arrayfields['p.volume_units']['label'], $_SERVER['PHP_SELF'], 'p.volume_units', '', $param, '', $sortfield, $sortorder, 'center '); - if (!empty($arrayfields['cu.label']['checked'])) print_liste_field_titre($arrayfields['cu.label']['label'], $_SERVER['PHP_SELF'], '', '', $param, '', $sortfield, $sortorder, 'center '); + if (!empty($arrayfields['cu.label']['checked'])) print_liste_field_titre($arrayfields['cu.label']['label'], $_SERVER['PHP_SELF'], 'cu.label', '', $param, '', $sortfield, $sortorder, 'center '); if (!empty($arrayfields['p.sellprice']['checked'])) { print_liste_field_titre($arrayfields['p.sellprice']['label'], $_SERVER["PHP_SELF"], "", "", $param, '', $sortfield, $sortorder, 'right '); } From 9a99e4aaf6f96e5b024f632972e9717afd31a675 Mon Sep 17 00:00:00 2001 From: ATM-Nicolas <31647290+ATM-Nicolas@users.noreply.github.com> Date: Wed, 28 Oct 2020 11:18:39 +0100 Subject: [PATCH 02/22] Seriously ... --- htdocs/product/list.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/product/list.php b/htdocs/product/list.php index ad2e034e3c5..e4cd83a553e 100644 --- a/htdocs/product/list.php +++ b/htdocs/product/list.php @@ -422,7 +422,7 @@ if ($search_accountancy_code_sell_export) $sql .= natural_search('p.accountancy_ if ($search_accountancy_code_buy) $sql .= natural_search('p.accountancy_code_buy', $search_accountancy_code_buy); if ($search_accountancy_code_buy_intra) $sql .= natural_search('p.accountancy_code_buy_intra', $search_accountancy_code_buy_intra); if ($search_accountancy_code_buy_export) $sql .= natural_search('p.accountancy_code_buy_export', $search_accountancy_code_buy_export); -if(!empty($conf->global->PRODUCT_USE_UNITS) && $search_units) $sql .= natural_search('cu.rowid', $search_units); +if (!empty($conf->global->PRODUCT_USE_UNITS) && $search_units) $sql .= natural_search('cu.rowid', $search_units); // Add where from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; From 235641e2df93797ccd29227d78bfdd0e1114c9d2 Mon Sep 17 00:00:00 2001 From: GregM Date: Tue, 28 Feb 2023 15:46:42 +0100 Subject: [PATCH 03/22] FIX total line for extrafields --- htdocs/core/lib/project.lib.php | 12 ++++++++++++ htdocs/projet/tasks/list.php | 17 ++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 9d82ed8ead8..7f0a6bad321 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -1028,6 +1028,18 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t if (count($arrayfields) > 0 && !empty($arrayfields['c.assigned']['checked'])) { print ''; } + + //Check if Extrafields is totalizable + foreach ($extrafields->attributes['projet_task']['totalizable'] as $key=>$value){ + if ($arrayfields['ef.'.$key]['checked'] == 1){ + print ''; + if ($value == 1){ + print $totalarray['totalizable'][$key]['total']; + } + print ''; + } + } + print ''; print ''; } diff --git a/htdocs/projet/tasks/list.php b/htdocs/projet/tasks/list.php index 3f76d0a1c5b..be3347f56ff 100644 --- a/htdocs/projet/tasks/list.php +++ b/htdocs/projet/tasks/list.php @@ -1342,6 +1342,13 @@ while ($i < $imaxinloop) { } // Show total line +if (!empty($totalarray['totalizable']) && is_array($totalarray['totalizable'])) { + foreach ($totalarray['totalizable'] as $keytotalizable => $valtotalizable) { + $totalarray['pos'][$valtotalizable['pos']] = $keytotalizable; + $totalarray['val'][$keytotalizable] = $valtotalizable['total']; + } +} + if (isset($totalarray['totaldurationeffectivefield']) || isset($totalarray['totalplannedworkloadfield']) || isset($totalarray['totalprogress_calculatedfield']) || isset($totalarray['totaltobill']) || isset($totalarray['totalbilled']) || isset($totalarray['totalbudget'])) { print ''; @@ -1368,7 +1375,15 @@ if (isset($totalarray['totaldurationeffectivefield']) || isset($totalarray['tota print ''.convertSecondToTime($totalarray['totalbilled'], $plannedworkloadoutputformat).''; } elseif ($totalarray['totalbudget_amountfield'] == $i) { print ''.price($totalarray['totalbudgetamount'], 0, $langs, 1, 0, 0, $conf->currency).''; - } else { + } else if (!empty($totalarray['pos'][$i])) { + print ''; + if (isset($totalarray['type']) && $totalarray['type'][$i] == 'duration') { + print (!empty($totalarray['val'][$totalarray['pos'][$i]])?convertSecondToTime($totalarray['val'][$totalarray['pos'][$i]], 'allhourmin'):0); + } else { + print price(!empty($totalarray['val'][$totalarray['pos'][$i]])?$totalarray['val'][$totalarray['pos'][$i]]:0); + } + print ''; + }else { print ''; } } From 26eb4729f461550ff58ce4359810df82958ab35a Mon Sep 17 00:00:00 2001 From: jyhere Date: Thu, 2 Mar 2023 14:47:28 +0100 Subject: [PATCH 04/22] Unreachable else statement removed, move some conditions to reduce indentation and improve code readability --- htdocs/core/class/commonobject.class.php | 278 +++++++++++------------ 1 file changed, 136 insertions(+), 142 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index e3c3dff2b7c..4d88b8bd3bb 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -5465,172 +5465,166 @@ abstract class CommonObject $parameters = array('modelspath'=>$modelspath, 'modele'=>$modele, 'outputlangs'=>$outputlangs, 'hidedetails'=>$hidedetails, 'hidedesc'=>$hidedesc, 'hideref'=>$hideref, 'moreparams'=>$moreparams); $reshook = $hookmanager->executeHooks('commonGenerateDocument', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + + if (!empty($reshook)) { + return $reshook; + } + + dol_syslog("commonGenerateDocument modele=".$modele." outputlangs->defaultlang=".(is_object($outputlangs) ? $outputlangs->defaultlang : 'null')); - if (empty($reshook)) { - dol_syslog("commonGenerateDocument modele=".$modele." outputlangs->defaultlang=".(is_object($outputlangs) ? $outputlangs->defaultlang : 'null')); + if (empty($modele)) { + $this->error = 'BadValueForParameterModele'; + return -1; + } - if (empty($modele)) { - $this->error = 'BadValueForParameterModele'; - return -1; - } + // Increase limit for PDF build + $err = error_reporting(); + error_reporting(0); + @set_time_limit(120); + error_reporting($err); - // Increase limit for PDF build - $err = error_reporting(); - error_reporting(0); - @set_time_limit(120); - error_reporting($err); + // If selected model is a filename template (then $modele="modelname" or "modelname:filename") + $tmp = explode(':', $modele, 2); + if (!empty($tmp[1])) { + $modele = $tmp[0]; + $srctemplatepath = $tmp[1]; + } - // If selected model is a filename template (then $modele="modelname" or "modelname:filename") - $tmp = explode(':', $modele, 2); - if (!empty($tmp[1])) { - $modele = $tmp[0]; - $srctemplatepath = $tmp[1]; - } - - // Search template files - $file = ''; - $classname = ''; - $filefound = ''; - $dirmodels = array('/'); - if (is_array($conf->modules_parts['models'])) { - $dirmodels = array_merge($dirmodels, $conf->modules_parts['models']); - } - foreach ($dirmodels as $reldir) { - foreach (array('doc', 'pdf') as $prefix) { - if (in_array(get_class($this), array('Adherent'))) { - // Member module use prefix_modele.class.php - $file = $prefix."_".$modele.".class.php"; - } else { - // Other module use prefix_modele.modules.php - $file = $prefix."_".$modele.".modules.php"; - } - - // On verifie l'emplacement du modele - $file = dol_buildpath($reldir.$modelspath.$file, 0); - if (file_exists($file)) { - $filefound = $file; - $classname = $prefix.'_'.$modele; - break; - } + // Search template files + $file = ''; + $classname = ''; + $filefound = ''; + $dirmodels = array('/'); + if (is_array($conf->modules_parts['models'])) { + $dirmodels = array_merge($dirmodels, $conf->modules_parts['models']); + } + foreach ($dirmodels as $reldir) { + foreach (array('doc', 'pdf') as $prefix) { + if (in_array(get_class($this), array('Adherent'))) { + // Member module use prefix_modele.class.php + $file = $prefix."_".$modele.".class.php"; + } else { + // Other module use prefix_modele.modules.php + $file = $prefix."_".$modele.".modules.php"; } - if ($filefound) { + + // On verifie l'emplacement du modele + $file = dol_buildpath($reldir.$modelspath.$file, 0); + if (file_exists($file)) { + $filefound = $file; + $classname = $prefix.'_'.$modele; break; } } - - // If generator was found if ($filefound) { - global $db; // Required to solve a conception default making an include of code using $db instead of $this->db just after. + break; + } + } - require_once $file; + if (!$filefound) { + $this->error = $langs->trans("Error").' Failed to load doc generator with modelpaths='.$modelspath.' - modele='.$modele; + $this->errors[] = $this->error; + dol_syslog($this->error, LOG_ERR); + return -1; + } - $obj = new $classname($this->db); + // If generator was found + global $db; // Required to solve a conception default making an include of code using $db instead of $this->db just after. - // If generator is ODT, we must have srctemplatepath defined, if not we set it. - if ($obj->type == 'odt' && empty($srctemplatepath)) { - $varfortemplatedir = $obj->scandir; - if ($varfortemplatedir && !empty($conf->global->$varfortemplatedir)) { - $dirtoscan = $conf->global->$varfortemplatedir; + require_once $file; - $listoffiles = array(); + $obj = new $classname($this->db); - // Now we add first model found in directories scanned - $listofdir = explode(',', $dirtoscan); - foreach ($listofdir as $key => $tmpdir) { - $tmpdir = trim($tmpdir); - $tmpdir = preg_replace('/DOL_DATA_ROOT/', DOL_DATA_ROOT, $tmpdir); - if (!$tmpdir) { - unset($listofdir[$key]); - continue; - } - if (is_dir($tmpdir)) { - $tmpfiles = dol_dir_list($tmpdir, 'files', 0, '\.od(s|t)$', '', 'name', SORT_ASC, 0); - if (count($tmpfiles)) { - $listoffiles = array_merge($listoffiles, $tmpfiles); - } - } - } + // If generator is ODT, we must have srctemplatepath defined, if not we set it. + if ($obj->type == 'odt' && empty($srctemplatepath)) { + $varfortemplatedir = $obj->scandir; + if ($varfortemplatedir && !empty($conf->global->$varfortemplatedir)) { + $dirtoscan = $conf->global->$varfortemplatedir; - if (count($listoffiles)) { - foreach ($listoffiles as $record) { - $srctemplatepath = $record['fullname']; - break; - } + $listoffiles = array(); + + // Now we add first model found in directories scanned + $listofdir = explode(',', $dirtoscan); + foreach ($listofdir as $key => $tmpdir) { + $tmpdir = trim($tmpdir); + $tmpdir = preg_replace('/DOL_DATA_ROOT/', DOL_DATA_ROOT, $tmpdir); + if (!$tmpdir) { + unset($listofdir[$key]); + continue; + } + if (is_dir($tmpdir)) { + $tmpfiles = dol_dir_list($tmpdir, 'files', 0, '\.od(s|t)$', '', 'name', SORT_ASC, 0); + if (count($tmpfiles)) { + $listoffiles = array_merge($listoffiles, $tmpfiles); } } + } - if (empty($srctemplatepath)) { - $this->error = 'ErrorGenerationAskedForOdtTemplateWithSrcFileNotDefined'; - return -1; + if (count($listoffiles)) { + foreach ($listoffiles as $record) { + $srctemplatepath = $record['fullname']; + break; } } + } - if ($obj->type == 'odt' && !empty($srctemplatepath)) { - if (!dol_is_file($srctemplatepath)) { - dol_syslog("Failed to locate template file ".$srctemplatepath, LOG_WARNING); - $this->error = 'ErrorGenerationAskedForOdtTemplateWithSrcFileNotFound'; - return -1; - } - } - - // We save charset_output to restore it because write_file can change it if needed for - // output format that does not support UTF8. - $sav_charset_output = empty($outputlangs->charset_output) ? '' : $outputlangs->charset_output; - - if (in_array(get_class($this), array('Adherent'))) { - $resultwritefile = $obj->write_file($this, $outputlangs, $srctemplatepath, 'member', 1, 'tmp_cards', $moreparams); - } else { - $resultwritefile = $obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref, $moreparams); - } - // After call of write_file $obj->result['fullpath'] is set with generated file. It will be used to update the ECM database index. - - if ($resultwritefile > 0) { - $outputlangs->charset_output = $sav_charset_output; - - // We delete old preview - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - dol_delete_preview($this); - - // Index file in database - if (!empty($obj->result['fullpath'])) { - $destfull = $obj->result['fullpath']; - - // Update the last_main_doc field into main object (if document generator has property ->update_main_doc_field set) - $update_main_doc_field = 0; - if (!empty($obj->update_main_doc_field)) { - $update_main_doc_field = 1; - } - - $this->indexFile($destfull, $update_main_doc_field); - } else { - dol_syslog('Method ->write_file was called on object '.get_class($obj).' and return a success but the return array ->result["fullpath"] was not set.', LOG_WARNING); - } - - // Success in building document. We build meta file. - dol_meta_create($this); - - return 1; - } else { - $outputlangs->charset_output = $sav_charset_output; - $this->error = $obj->error; - $this->errors = $obj->errors; - dol_syslog("Error generating document for ".__CLASS__.". Error: ".$obj->error, LOG_ERR); - return -1; - } - } else { - if (!$filefound) { - $this->error = $langs->trans("Error").' Failed to load doc generator with modelpaths='.$modelspath.' - modele='.$modele; - $this->errors[] = $this->error; - dol_syslog($this->error, LOG_ERR); - } else { - $this->error = $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists", $filefound); - $this->errors[] = $this->error; - dol_syslog($this->error, LOG_ERR); - } + if (empty($srctemplatepath)) { + $this->error = 'ErrorGenerationAskedForOdtTemplateWithSrcFileNotDefined'; return -1; } + } + + if ($obj->type == 'odt' && !empty($srctemplatepath)) { + if (!dol_is_file($srctemplatepath)) { + dol_syslog("Failed to locate template file ".$srctemplatepath, LOG_WARNING); + $this->error = 'ErrorGenerationAskedForOdtTemplateWithSrcFileNotFound'; + return -1; + } + } + + // We save charset_output to restore it because write_file can change it if needed for + // output format that does not support UTF8. + $sav_charset_output = empty($outputlangs->charset_output) ? '' : $outputlangs->charset_output; + + if (in_array(get_class($this), array('Adherent'))) { + $resultwritefile = $obj->write_file($this, $outputlangs, $srctemplatepath, 'member', 1, 'tmp_cards', $moreparams); } else { - return $reshook; + $resultwritefile = $obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref, $moreparams); + } + // After call of write_file $obj->result['fullpath'] is set with generated file. It will be used to update the ECM database index. + + if ($resultwritefile > 0) { + $outputlangs->charset_output = $sav_charset_output; + + // We delete old preview + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + dol_delete_preview($this); + + // Index file in database + if (!empty($obj->result['fullpath'])) { + $destfull = $obj->result['fullpath']; + + // Update the last_main_doc field into main object (if document generator has property ->update_main_doc_field set) + $update_main_doc_field = 0; + if (!empty($obj->update_main_doc_field)) { + $update_main_doc_field = 1; + } + + $this->indexFile($destfull, $update_main_doc_field); + } else { + dol_syslog('Method ->write_file was called on object '.get_class($obj).' and return a success but the return array ->result["fullpath"] was not set.', LOG_WARNING); + } + + // Success in building document. We build meta file. + dol_meta_create($this); + + return 1; + } else { + $outputlangs->charset_output = $sav_charset_output; + $this->error = $obj->error; + $this->errors = $obj->errors; + dol_syslog("Error generating document for ".__CLASS__.". Error: ".$obj->error, LOG_ERR); + return -1; } } From 8bb13380eb8946e9978a42beac81f97d82dccc3d Mon Sep 17 00:00:00 2001 From: jyhere Date: Thu, 2 Mar 2023 15:04:47 +0100 Subject: [PATCH 05/22] Remove spaces --- htdocs/core/class/commonobject.class.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 4d88b8bd3bb..7b3707aa360 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -5465,11 +5465,11 @@ abstract class CommonObject $parameters = array('modelspath'=>$modelspath, 'modele'=>$modele, 'outputlangs'=>$outputlangs, 'hidedetails'=>$hidedetails, 'hidedesc'=>$hidedesc, 'hideref'=>$hideref, 'moreparams'=>$moreparams); $reshook = $hookmanager->executeHooks('commonGenerateDocument', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks - + if (!empty($reshook)) { return $reshook; } - + dol_syslog("commonGenerateDocument modele=".$modele." outputlangs->defaultlang=".(is_object($outputlangs) ? $outputlangs->defaultlang : 'null')); if (empty($modele)) { @@ -5526,7 +5526,7 @@ abstract class CommonObject $this->errors[] = $this->error; dol_syslog($this->error, LOG_ERR); return -1; - } + } // If generator was found global $db; // Required to solve a conception default making an include of code using $db instead of $this->db just after. @@ -5589,7 +5589,7 @@ abstract class CommonObject if (in_array(get_class($this), array('Adherent'))) { $resultwritefile = $obj->write_file($this, $outputlangs, $srctemplatepath, 'member', 1, 'tmp_cards', $moreparams); } else { - $resultwritefile = $obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref, $moreparams); + $resultwritefile = $obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref, $moreparams); } // After call of write_file $obj->result['fullpath'] is set with generated file. It will be used to update the ECM database index. From 24f77465ccede7b1e21541a16f0877cb44f0e786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 8 Mar 2023 21:16:37 +0100 Subject: [PATCH 06/22] use a fonction to get multidir output --- htdocs/commande/card.php | 2 +- htdocs/core/lib/functions.lib.php | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 97b3e017505..e36fa67b053 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -2987,7 +2987,7 @@ if ($action == 'create' && $usercancreate) { // Presend form $modelmail = 'order_send'; $defaulttopic = 'SendOrderRef'; - $diroutput = $conf->commande->multidir_output[$object->entity]; + $diroutput = getMultidirOutput($object); $trackid = 'ord'.$object->id; include DOL_DOCUMENT_ROOT.'/core/tpl/card_presend.tpl.php'; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index e0f3fb0a4bb..668c7636926 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -71,6 +71,18 @@ if (!function_exists('utf8_decode')) { } } +/** + * Return multidir output for an Dolibarr object + * + * @param CommonObject $object Dolibarr common object + * @return string + */ +function getMultiDirOutput($object) : string +{ + global $conf; + $module = $object->element; + return $conf->$module->multidir_output[$object->entity]; +} /** * Return dolibarr global constant string value From e4492da46f87c160ebb61b57193446ac45aa36b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 8 Mar 2023 21:20:56 +0100 Subject: [PATCH 07/22] use a fonction to get multidir output --- htdocs/core/lib/functions.lib.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 668c7636926..ee200fa1679 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -75,11 +75,15 @@ if (!function_exists('utf8_decode')) { * Return multidir output for an Dolibarr object * * @param CommonObject $object Dolibarr common object - * @return string + * @since Dolibarr V18 + * @return string|void */ -function getMultiDirOutput($object) : string +function getMultidirOutput($object) { global $conf; + if (!is_object($object)) { + return; + } $module = $object->element; return $conf->$module->multidir_output[$object->entity]; } From a9b9812b7e7ffdf4710ff9e87cede29bb190613a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 8 Mar 2023 21:39:05 +0100 Subject: [PATCH 08/22] try to use function --- htdocs/commande/class/commande.class.php | 1 + .../core/modules/commande/doc/pdf_eratosthene.modules.php | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 86fcfbea1ad..4a6a197aa79 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -3960,6 +3960,7 @@ class Commande extends CommonOrder $this->id = 0; $this->ref = 'SPECIMEN'; $this->specimen = 1; + $this->entity = $conf->entity; $this->socid = 1; $this->date = time(); $this->date_lim_reglement = $this->date + 3600 * 24 * 30; diff --git a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php index 78b3fa24a33..c035b190693 100644 --- a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php @@ -296,18 +296,18 @@ class pdf_eratosthene extends ModelePDFCommandes - if ($conf->commande->multidir_output[$conf->entity]) { + if (getMultidirOutput($object)) { $object->fetch_thirdparty(); $deja_regle = 0; // Definition of $dir and $file if ($object->specimen) { - $dir = $conf->commande->multidir_output[$conf->entity]; + $dir = getMultidirOutput($object); $file = $dir."/SPECIMEN.pdf"; } else { $objectref = dol_sanitizeFileName($object->ref); - $dir = $conf->commande->multidir_output[$object->entity]."/".$objectref; + $dir = getMultidirOutput($object)."/".$objectref; $file = $dir."/".$objectref.".pdf"; } From 145880bc92d67b71c26019322d63d6f1d1f8bb01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 8 Mar 2023 21:52:50 +0100 Subject: [PATCH 09/22] try to use function --- htdocs/core/lib/functions.lib.php | 9 +++++++-- .../modules/commande/doc/pdf_eratosthene.modules.php | 6 +++--- htdocs/societe/class/societe.class.php | 4 ++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index ee200fa1679..77f4cc09b77 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -75,16 +75,21 @@ if (!function_exists('utf8_decode')) { * Return multidir output for an Dolibarr object * * @param CommonObject $object Dolibarr common object + * @param string $module override object element, by example mycompany instead societe * @since Dolibarr V18 * @return string|void */ -function getMultidirOutput($object) +function getMultidirOutput($object, $module = '') { global $conf; if (!is_object($object)) { return; } - $module = $object->element; + if (empty($module) && !empty($object->element)) { + $module = $object->element; + } else { + return; + } return $conf->$module->multidir_output[$object->entity]; } diff --git a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php index c035b190693..cb460cff14a 100644 --- a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php @@ -1447,7 +1447,7 @@ class pdf_eratosthene extends ModelePDFCommandes protected function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $outputlangsbis = null, $titlekey = "PdfOrderTitle") { // phpcs:enable - global $conf, $langs, $hookmanager; + global $conf, $langs, $hookmanager, $mysoc; $ltrdirection = 'L'; if ($outputlangs->trans("DIRECTION") == 'rtl') $ltrdirection = 'R'; @@ -1473,8 +1473,8 @@ class pdf_eratosthene extends ModelePDFCommandes if (!getDolGlobalInt('PDF_DISABLE_MYCOMPANY_LOGO')) { if ($this->emetteur->logo) { $logodir = $conf->mycompany->dir_output; - if (!empty($conf->mycompany->multidir_output[$object->entity])) { - $logodir = $conf->mycompany->multidir_output[$object->entity]; + if (!empty(getMultidirOutput($mysoc, 'mycompany'))) { + $logodir = getMultidirOutput($mysoc, 'mycompany'); } if (!getDolGlobalInt('MAIN_PDF_USE_LARGE_LOGO')) { $logo = $logodir.'/logos/thumbs/'.$this->emetteur->logo_small; diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 1912bd74521..a56fad2c086 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -4358,7 +4358,9 @@ class Societe extends CommonObject global $langs; $this->id = 0; + $this->entity = $conf->entity; $this->name = getDolGlobalString('MAIN_INFO_SOCIETE_NOM'); + $this->nom = $this->name; // deprecated $this->address = getDolGlobalString('MAIN_INFO_SOCIETE_ADDRESS'); $this->zip = getDolGlobalString('MAIN_INFO_SOCIETE_ZIP'); $this->town = getDolGlobalString('MAIN_INFO_SOCIETE_TOWN'); @@ -4368,8 +4370,6 @@ class Societe extends CommonObject $this->note_private = getDolGlobalString('MAIN_INFO_SOCIETE_NOTE'); - $this->nom = $this->name; // deprecated - // We define country_id, country_code and country $country_id = $country_code = $country_label = ''; if (!empty($conf->global->MAIN_INFO_SOCIETE_COUNTRY)) { From fc9ec58ac96ea2126d789b5c16364a2654692308 Mon Sep 17 00:00:00 2001 From: Maximilien Rozniecki Date: Fri, 10 Mar 2023 17:11:27 +0100 Subject: [PATCH 10/22] added the possibility to show the mail information inside the event page in case the option is set --- htdocs/admin/agenda_other.php | 9 +++++++++ htdocs/comm/action/card.php | 14 ++++++++++++++ htdocs/langs/en_US/admin.lang | 1 + 3 files changed, 24 insertions(+) diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index 18797312ad8..5ff544a1f6c 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -87,6 +87,7 @@ if ($action == 'set') { dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_TYPE', $defaultfilter, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_STATUS', GETPOST('AGENDA_DEFAULT_FILTER_STATUS'), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, 'AGENDA_DEFAULT_VIEW', GETPOST('AGENDA_DEFAULT_VIEW'), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, "COMM_ACTION_MAIL_DESCRIPTION", GETPOST("COMM_ACTION_MAIL_DESCRIPTION", 'int'), 'chaine', 0, '', $conf->entity); $defaultValues = new DefaultValues($db); $result = $defaultValues->fetchAll('', '', 0, 0, array('t.page'=>'comm/action/card.php', 't.param'=>'complete', 't.user_id'=>'0', 't.type'=>'createform', 't.entity'=>$conf->entity)); @@ -398,6 +399,14 @@ print ''."\n"; $formactions->form_select_status_action('agenda', getDolGlobalString('AGENDA_DEFAULT_FILTER_STATUS'), 1, 'AGENDA_DEFAULT_FILTER_STATUS', 1, 2, 'minwidth100'); print ''."\n"; +//comm action show in description the mail information +print ''."\n"; +print ''.$langs->trans("COMM_ACTION_MAIL_DESCRIPTION").''."\n"; +print ' '."\n"; +print ''."\n"; +print $form->selectyesno('COMM_ACTION_MAIL_DESCRIPTION', getDolGlobalString('COMM_ACTION_MAIL_DESCRIPTION'), 1); +print ''; + print ''; print $form->buttonsSaveCancel("Save", ''); diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index a36f944d6c5..b5a62c7480e 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -2403,6 +2403,20 @@ if ($id > 0) { print ''; } + //mail information + if (!empty($object->email_msgid) && $conf->global->COMM_ACTION_MAIL_DESCRIPTION) { + print ''.$langs->trans('MailTopic').''; + print ''.dol_escape_htmltag($object->email_subject).''; + print ''.$langs->trans('MailFrom').''; + print ''.dol_escape_htmltag($object->email_from).''; + print ''.$langs->trans('MailTo').''; + print ''.dol_escape_htmltag($object->email_to).''; + if (!empty($object->email_tocc)) { + print ''.$langs->trans('MailCC').''; + print ''.dol_escape_htmltag($object->email_tocc).''; + } + } + // Description print ''.$langs->trans("Description").''; print dol_string_onlythesehtmltags(dol_htmlentitiesbr($object->note_private)); diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 2ef2a996f3b..1a72704a2af 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -313,6 +313,7 @@ MAIN_DISABLE_ALL_SMS=Disable all SMS sending (for test purposes or demos) MAIN_SMS_SENDMODE=Method to use to send SMS MAIN_MAIL_SMS_FROM=Default sender phone number for SMS sending MAIN_MAIL_DEFAULT_FROMTYPE=Default sender email for manual sending (User email or Company email) +COMM_ACTION_MAIL_DESCRIPTION=Show the email information (sender, receivers, etc) in the event description (if defined) UserEmail=User email CompanyEmail=Company Email FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. From a551919f90d427e8e024db8ae3ef9ac228f2ce66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 13 Mar 2023 09:54:19 +0100 Subject: [PATCH 11/22] fetch thirdparty in order tooltip only in ajax request --- htdocs/commande/class/commande.class.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 6348d8e1325..96d3d164756 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -3728,6 +3728,7 @@ class Commande extends CommonOrder global $conf, $langs, $user; $datas = []; + $nofetch = !empty($params['nofetch']); if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { return ['optimize' => $langs->trans("Order")]; @@ -3739,7 +3740,13 @@ class Commande extends CommonOrder $datas[] = ' '.$this->getLibStatut(5); } $datas['Ref'] = '
'.$langs->trans('Ref').': '.$this->ref; - $datas['RefCustomer'] = '
'.$langs->trans('RefCustomer').': '.(empty($this->ref_customer) ? (empty($this->ref_client) ? '' : $this->ref_client) : $this->ref_customer); + if (!$nofetch) { + $langs->load('companies'); + if (empty($this->thirdparty)) { + $this->fetch_thirdparty(); + } + $datas['customer'] = '
'.$langs->trans('Customer').': '.$this->thirdparty->name; + } if (!empty($this->total_ht)) { $datas['AmountHT'] = '
'.$langs->trans('AmountHT').': '.price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); } @@ -3811,6 +3818,7 @@ class Commande extends CommonOrder 'id' => $this->id, 'objecttype' => $this->element, 'option' => $option, + 'nofetch' => 1, ]; $classfortooltip = 'classfortooltip'; $dataparams = ''; From 1da5de832683f54868588862fa62a75682359f16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 13 Mar 2023 09:55:47 +0100 Subject: [PATCH 12/22] fetch thirdparty in order tooltip only in ajax request --- htdocs/commande/class/commande.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 96d3d164756..590a7fbe132 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -3747,6 +3747,7 @@ class Commande extends CommonOrder } $datas['customer'] = '
'.$langs->trans('Customer').': '.$this->thirdparty->name; } + $datas['RefCustomer'] = '
'.$langs->trans('RefCustomer').': '.(empty($this->ref_customer) ? (empty($this->ref_client) ? '' : $this->ref_client) : $this->ref_customer); if (!empty($this->total_ht)) { $datas['AmountHT'] = '
'.$langs->trans('AmountHT').': '.price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); } From 045d4284f5d76532c606e4e45ad0b3a3860b7375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 13 Mar 2023 10:04:03 +0100 Subject: [PATCH 13/22] fetch thirdparty in propal tooltip only in ajax request --- htdocs/comm/propal/class/propal.class.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 47e178292eb..5df317c0a2a 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -3708,6 +3708,7 @@ class Propal extends CommonObject global $conf, $langs, $user; $datas = []; + $nofetch = !empty($params['nofetch']); if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { return ['optimize' => $langs->trans("Proposal")]; @@ -3720,6 +3721,13 @@ class Propal extends CommonObject if (!empty($this->ref)) { $datas['ref'] = '
'.$langs->trans('Ref').': '.$this->ref; } + if (!$nofetch) { + $langs->load('companies'); + if (empty($this->thirdparty)) { + $this->fetch_thirdparty(); + } + $datas['customer'] = '
'.$langs->trans('Customer').': '.$this->thirdparty->name; + } if (!empty($this->ref_client)) { $datas['refcustomer'] = '
'.$langs->trans('RefCustomer').': '.$this->ref_client; } @@ -3767,6 +3775,7 @@ class Propal extends CommonObject 'id' => $this->id, 'objecttype' => $this->element, 'option' => $option, + 'nofetch' => 1, ]; $classfortooltip = 'classfortooltip'; $dataparams = ''; From b51bf830d03e8d849bf12984e08494742aa02801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 13 Mar 2023 15:05:18 +0100 Subject: [PATCH 14/22] fix sql --- .../install/mysql/migration/17.0.0-18.0.0.sql | 502 +++++++++--------- 1 file changed, 250 insertions(+), 252 deletions(-) diff --git a/htdocs/install/mysql/migration/17.0.0-18.0.0.sql b/htdocs/install/mysql/migration/17.0.0-18.0.0.sql index e1830c6473b..d43f56ad503 100644 --- a/htdocs/install/mysql/migration/17.0.0-18.0.0.sql +++ b/htdocs/install/mysql/migration/17.0.0-18.0.0.sql @@ -37,7 +37,7 @@ -- VMYSQL4.3 ALTER TABLE llx_hrm_skillrank CHANGE COLUMN `rank` rankorder integer; -- VPGSQL8.2 ALTER TABLE llx_hrm_skillrank CHANGE COLUMN rank rankorder integer; -ALTER TABLE llx_accounting_system CHANGE COLUMN fk_pays fk_country integer; +ALTER TABLE llx_accounting_system CHANGE COLUMN fk_pays fk_country integer; ALTER TABLE llx_commande_fournisseurdet MODIFY COLUMN ref varchar(128); ALTER TABLE llx_facture_fourn_det MODIFY COLUMN ref varchar(128); @@ -123,254 +123,252 @@ ALTER TABLE llx_element_time ADD INDEX idx_element_time_datehour (element_dateho ALTER TABLE llx_c_country ADD COLUMN numeric_code VARCHAR(3); -UPDATE llx_c_country SET numeric_code = '004' WHERE code_iso = "AFG"; -UPDATE llx_c_country SET numeric_code = '248' WHERE code_iso = "ALA"; -UPDATE llx_c_country SET numeric_code = '008' WHERE code_iso = "ALB"; -UPDATE llx_c_country SET numeric_code = '276' WHERE code_iso = "DEU"; -UPDATE llx_c_country SET numeric_code = '020' WHERE code_iso = "AND"; -UPDATE llx_c_country SET numeric_code = '024' WHERE code_iso = "AGO"; -UPDATE llx_c_country SET numeric_code = '660' WHERE code_iso = "AIA"; -UPDATE llx_c_country SET numeric_code = '010' WHERE code_iso = "ATA"; -UPDATE llx_c_country SET numeric_code = '028' WHERE code_iso = "ATG"; -UPDATE llx_c_country SET numeric_code = '682' WHERE code_iso = "SAU"; -UPDATE llx_c_country SET numeric_code = '012' WHERE code_iso = "DZA"; -UPDATE llx_c_country SET numeric_code = '032' WHERE code_iso = "ARG"; -UPDATE llx_c_country SET numeric_code = '051' WHERE code_iso = "ARM"; -UPDATE llx_c_country SET numeric_code = '533' WHERE code_iso = "ABW"; -UPDATE llx_c_country SET numeric_code = '036' WHERE code_iso = "AUS"; -UPDATE llx_c_country SET numeric_code = '040' WHERE code_iso = "AUT"; -UPDATE llx_c_country SET numeric_code = '031' WHERE code_iso = "AZE"; -UPDATE llx_c_country SET numeric_code = '044' WHERE code_iso = "BHS"; -UPDATE llx_c_country SET numeric_code = '050' WHERE code_iso = "BGD"; -UPDATE llx_c_country SET numeric_code = '052' WHERE code_iso = "BRB"; -UPDATE llx_c_country SET numeric_code = '048' WHERE code_iso = "BHR"; -UPDATE llx_c_country SET numeric_code = '056' WHERE code_iso = "BEL"; -UPDATE llx_c_country SET numeric_code = '084' WHERE code_iso = "BLZ"; -UPDATE llx_c_country SET numeric_code = '204' WHERE code_iso = "BEN"; -UPDATE llx_c_country SET numeric_code = '060' WHERE code_iso = "BMU"; -UPDATE llx_c_country SET numeric_code = '112' WHERE code_iso = "BLR"; -UPDATE llx_c_country SET numeric_code = '068' WHERE code_iso = "BOL"; -UPDATE llx_c_country SET numeric_code = '535' WHERE code_iso = "BES"; -UPDATE llx_c_country SET numeric_code = '070' WHERE code_iso = "BIH"; -UPDATE llx_c_country SET numeric_code = '072' WHERE code_iso = "BWA"; -UPDATE llx_c_country SET numeric_code = '076' WHERE code_iso = "BRA"; -UPDATE llx_c_country SET numeric_code = '096' WHERE code_iso = "BRN"; -UPDATE llx_c_country SET numeric_code = '100' WHERE code_iso = "BGR"; -UPDATE llx_c_country SET numeric_code = '854' WHERE code_iso = "BFA"; -UPDATE llx_c_country SET numeric_code = '108' WHERE code_iso = "BDI"; -UPDATE llx_c_country SET numeric_code = '064' WHERE code_iso = "BTN"; -UPDATE llx_c_country SET numeric_code = '132' WHERE code_iso = "CPV"; -UPDATE llx_c_country SET numeric_code = '116' WHERE code_iso = "KHM"; -UPDATE llx_c_country SET numeric_code = '120' WHERE code_iso = "CMR"; -UPDATE llx_c_country SET numeric_code = '124' WHERE code_iso = "CAN"; -UPDATE llx_c_country SET numeric_code = '634' WHERE code_iso = "QAT"; -UPDATE llx_c_country SET numeric_code = '148' WHERE code_iso = "TCD"; -UPDATE llx_c_country SET numeric_code = '152' WHERE code_iso = "CHL"; -UPDATE llx_c_country SET numeric_code = '156' WHERE code_iso = "CHN"; -UPDATE llx_c_country SET numeric_code = '196' WHERE code_iso = "CYP"; -UPDATE llx_c_country SET numeric_code = '170' WHERE code_iso = "COL"; -UPDATE llx_c_country SET numeric_code = '174' WHERE code_iso = "COM"; -UPDATE llx_c_country SET numeric_code = '408' WHERE code_iso = "PRK"; -UPDATE llx_c_country SET numeric_code = '410' WHERE code_iso = "KOR"; -UPDATE llx_c_country SET numeric_code = '384' WHERE code_iso = "CIV"; -UPDATE llx_c_country SET numeric_code = '188' WHERE code_iso = "CRI"; -UPDATE llx_c_country SET numeric_code = '191' WHERE code_iso = "HRV"; -UPDATE llx_c_country SET numeric_code = '192' WHERE code_iso = "CUB"; -UPDATE llx_c_country SET numeric_code = '531' WHERE code_iso = "CUW"; -UPDATE llx_c_country SET numeric_code = '208' WHERE code_iso = "DNK"; -UPDATE llx_c_country SET numeric_code = '212' WHERE code_iso = "DMA"; -UPDATE llx_c_country SET numeric_code = '218' WHERE code_iso = "ECU"; -UPDATE llx_c_country SET numeric_code = '818' WHERE code_iso = "EGY"; -UPDATE llx_c_country SET numeric_code = '222' WHERE code_iso = "SLV"; -UPDATE llx_c_country SET numeric_code = '784' WHERE code_iso = "ARE"; -UPDATE llx_c_country SET numeric_code = '232' WHERE code_iso = "ERI"; -UPDATE llx_c_country SET numeric_code = '703' WHERE code_iso = "SVK"; -UPDATE llx_c_country SET numeric_code = '705' WHERE code_iso = "SVN"; -UPDATE llx_c_country SET numeric_code = '724' WHERE code_iso = "ESP"; -UPDATE llx_c_country SET numeric_code = '840' WHERE code_iso = "USA"; -UPDATE llx_c_country SET numeric_code = '233' WHERE code_iso = "EST"; -UPDATE llx_c_country SET numeric_code = '231' WHERE code_iso = "ETH"; -UPDATE llx_c_country SET numeric_code = '608' WHERE code_iso = "PHL"; -UPDATE llx_c_country SET numeric_code = '246' WHERE code_iso = "FIN"; -UPDATE llx_c_country SET numeric_code = '242' WHERE code_iso = "FJI"; -UPDATE llx_c_country SET numeric_code = '250' WHERE code_iso = "FRA"; -UPDATE llx_c_country SET numeric_code = '266' WHERE code_iso = "GAB"; -UPDATE llx_c_country SET numeric_code = '270' WHERE code_iso = "GMB"; -UPDATE llx_c_country SET numeric_code = '268' WHERE code_iso = "GEO"; -UPDATE llx_c_country SET numeric_code = '288' WHERE code_iso = "GHA"; -UPDATE llx_c_country SET numeric_code = '292' WHERE code_iso = "GIB"; -UPDATE llx_c_country SET numeric_code = '308' WHERE code_iso = "GRD"; -UPDATE llx_c_country SET numeric_code = '300' WHERE code_iso = "GRC"; -UPDATE llx_c_country SET numeric_code = '304' WHERE code_iso = "GRL"; -UPDATE llx_c_country SET numeric_code = '312' WHERE code_iso = "GLP"; -UPDATE llx_c_country SET numeric_code = '316' WHERE code_iso = "GUM"; -UPDATE llx_c_country SET numeric_code = '320' WHERE code_iso = "GTM"; -UPDATE llx_c_country SET numeric_code = '254' WHERE code_iso = "GUF"; -UPDATE llx_c_country SET numeric_code = '831' WHERE code_iso = "GGY"; -UPDATE llx_c_country SET numeric_code = '324' WHERE code_iso = "GIN"; -UPDATE llx_c_country SET numeric_code = '624' WHERE code_iso = "GNB"; -UPDATE llx_c_country SET numeric_code = '226' WHERE code_iso = "GNQ"; -UPDATE llx_c_country SET numeric_code = '328' WHERE code_iso = "GUY"; -UPDATE llx_c_country SET numeric_code = '332' WHERE code_iso = "HTI"; -UPDATE llx_c_country SET numeric_code = '340' WHERE code_iso = "HND"; -UPDATE llx_c_country SET numeric_code = '344' WHERE code_iso = "HKG"; -UPDATE llx_c_country SET numeric_code = '348' WHERE code_iso = "HUN"; -UPDATE llx_c_country SET numeric_code = '356' WHERE code_iso = "IND"; -UPDATE llx_c_country SET numeric_code = '360' WHERE code_iso = "IDN"; -UPDATE llx_c_country SET numeric_code = '368' WHERE code_iso = "IRQ"; -UPDATE llx_c_country SET numeric_code = '364' WHERE code_iso = "IRN"; -UPDATE llx_c_country SET numeric_code = '372' WHERE code_iso = "IRL"; -UPDATE llx_c_country SET numeric_code = '074' WHERE code_iso = "BVT"; -UPDATE llx_c_country SET numeric_code = '833' WHERE code_iso = "IMN"; -UPDATE llx_c_country SET numeric_code = '162' WHERE code_iso = "CXR"; -UPDATE llx_c_country SET numeric_code = '352' WHERE code_iso = "ISL"; -UPDATE llx_c_country SET numeric_code = '136' WHERE code_iso = "CYM"; -UPDATE llx_c_country SET numeric_code = '166' WHERE code_iso = "CCK"; -UPDATE llx_c_country SET numeric_code = '184' WHERE code_iso = "COK"; -UPDATE llx_c_country SET numeric_code = '234' WHERE code_iso = "FRO"; -UPDATE llx_c_country SET numeric_code = '239' WHERE code_iso = "SGS"; -UPDATE llx_c_country SET numeric_code = '334' WHERE code_iso = "HMD"; -UPDATE llx_c_country SET numeric_code = '238' WHERE code_iso = "FLK"; -UPDATE llx_c_country SET numeric_code = '580' WHERE code_iso = "MNP"; -UPDATE llx_c_country SET numeric_code = '584' WHERE code_iso = "MHL"; -UPDATE llx_c_country SET numeric_code = '612' WHERE code_iso = "PCN"; -UPDATE llx_c_country SET numeric_code = '090' WHERE code_iso = "SLB"; -UPDATE llx_c_country SET numeric_code = '796' WHERE code_iso = "TCA"; -UPDATE llx_c_country SET numeric_code = '581' WHERE code_iso = "UMI"; -UPDATE llx_c_country SET numeric_code = '092' WHERE code_iso = "VGB"; -UPDATE llx_c_country SET numeric_code = '850' WHERE code_iso = "VIR"; -UPDATE llx_c_country SET numeric_code = '376' WHERE code_iso = "ISR"; -UPDATE llx_c_country SET numeric_code = '380' WHERE code_iso = "ITA"; -UPDATE llx_c_country SET numeric_code = '388' WHERE code_iso = "JAM"; -UPDATE llx_c_country SET numeric_code = '392' WHERE code_iso = "JPN"; -UPDATE llx_c_country SET numeric_code = '832' WHERE code_iso = "JEY"; -UPDATE llx_c_country SET numeric_code = '400' WHERE code_iso = "JOR"; -UPDATE llx_c_country SET numeric_code = '398' WHERE code_iso = "KAZ"; -UPDATE llx_c_country SET numeric_code = '404' WHERE code_iso = "KEN"; -UPDATE llx_c_country SET numeric_code = '417' WHERE code_iso = "KGZ"; -UPDATE llx_c_country SET numeric_code = '296' WHERE code_iso = "KIR"; -UPDATE llx_c_country SET numeric_code = '414' WHERE code_iso = "KWT"; -UPDATE llx_c_country SET numeric_code = '418' WHERE code_iso = "LAO"; -UPDATE llx_c_country SET numeric_code = '426' WHERE code_iso = "LSO"; -UPDATE llx_c_country SET numeric_code = '428' WHERE code_iso = "LVA"; -UPDATE llx_c_country SET numeric_code = '422' WHERE code_iso = "LBN"; -UPDATE llx_c_country SET numeric_code = '430' WHERE code_iso = "LBR"; -UPDATE llx_c_country SET numeric_code = '434' WHERE code_iso = "LBY"; -UPDATE llx_c_country SET numeric_code = '438' WHERE code_iso = "LIE"; -UPDATE llx_c_country SET numeric_code = '440' WHERE code_iso = "LTU"; -UPDATE llx_c_country SET numeric_code = '442' WHERE code_iso = "LUX"; -UPDATE llx_c_country SET numeric_code = '446' WHERE code_iso = "MAC"; -UPDATE llx_c_country SET numeric_code = '807' WHERE code_iso = "MKD"; -UPDATE llx_c_country SET numeric_code = '450' WHERE code_iso = "MDG"; -UPDATE llx_c_country SET numeric_code = '458' WHERE code_iso = "MYS"; -UPDATE llx_c_country SET numeric_code = '454' WHERE code_iso = "MWI"; -UPDATE llx_c_country SET numeric_code = '462' WHERE code_iso = "MDV"; -UPDATE llx_c_country SET numeric_code = '466' WHERE code_iso = "MLI"; -UPDATE llx_c_country SET numeric_code = '470' WHERE code_iso = "MLT"; -UPDATE llx_c_country SET numeric_code = '504' WHERE code_iso = "MAR"; -UPDATE llx_c_country SET numeric_code = '474' WHERE code_iso = "MTQ"; -UPDATE llx_c_country SET numeric_code = '480' WHERE code_iso = "MUS"; -UPDATE llx_c_country SET numeric_code = '478' WHERE code_iso = "MRT"; -UPDATE llx_c_country SET numeric_code = '175' WHERE code_iso = "MYT"; -UPDATE llx_c_country SET numeric_code = '484' WHERE code_iso = "MEX"; -UPDATE llx_c_country SET numeric_code = '583' WHERE code_iso = "FSM"; -UPDATE llx_c_country SET numeric_code = '498' WHERE code_iso = "MDA"; -UPDATE llx_c_country SET numeric_code = '492' WHERE code_iso = "MCO"; -UPDATE llx_c_country SET numeric_code = '496' WHERE code_iso = "MNG"; -UPDATE llx_c_country SET numeric_code = '499' WHERE code_iso = "MNE"; -UPDATE llx_c_country SET numeric_code = '500' WHERE code_iso = "MSR"; -UPDATE llx_c_country SET numeric_code = '508' WHERE code_iso = "MOZ"; -UPDATE llx_c_country SET numeric_code = '104' WHERE code_iso = "MMR"; -UPDATE llx_c_country SET numeric_code = '516' WHERE code_iso = "NAM"; -UPDATE llx_c_country SET numeric_code = '520' WHERE code_iso = "NRU"; -UPDATE llx_c_country SET numeric_code = '524' WHERE code_iso = "NPL"; -UPDATE llx_c_country SET numeric_code = '558' WHERE code_iso = "NIC"; -UPDATE llx_c_country SET numeric_code = '562' WHERE code_iso = "NER"; -UPDATE llx_c_country SET numeric_code = '566' WHERE code_iso = "NGA"; -UPDATE llx_c_country SET numeric_code = '570' WHERE code_iso = "NIU"; -UPDATE llx_c_country SET numeric_code = '574' WHERE code_iso = "NFK"; -UPDATE llx_c_country SET numeric_code = '578' WHERE code_iso = "NOR"; -UPDATE llx_c_country SET numeric_code = '540' WHERE code_iso = "NCL"; -UPDATE llx_c_country SET numeric_code = '554' WHERE code_iso = "NZL"; -UPDATE llx_c_country SET numeric_code = '512' WHERE code_iso = "OMN"; -UPDATE llx_c_country SET numeric_code = '528' WHERE code_iso = "NLD"; -UPDATE llx_c_country SET numeric_code = '586' WHERE code_iso = "PAK"; -UPDATE llx_c_country SET numeric_code = '585' WHERE code_iso = "PLW"; -UPDATE llx_c_country SET numeric_code = '275' WHERE code_iso = "PSE"; -UPDATE llx_c_country SET numeric_code = '591' WHERE code_iso = "PAN"; -UPDATE llx_c_country SET numeric_code = '598' WHERE code_iso = "PNG"; -UPDATE llx_c_country SET numeric_code = '600' WHERE code_iso = "PRY"; -UPDATE llx_c_country SET numeric_code = '604' WHERE code_iso = "PER"; -UPDATE llx_c_country SET numeric_code = '258' WHERE code_iso = "PYF"; -UPDATE llx_c_country SET numeric_code = '616' WHERE code_iso = "POL"; -UPDATE llx_c_country SET numeric_code = '620' WHERE code_iso = "PRT"; -UPDATE llx_c_country SET numeric_code = '630' WHERE code_iso = "PRI"; -UPDATE llx_c_country SET numeric_code = '826' WHERE code_iso = "GBR"; -UPDATE llx_c_country SET numeric_code = '732' WHERE code_iso = "ESH"; -UPDATE llx_c_country SET numeric_code = '140' WHERE code_iso = "CAF"; -UPDATE llx_c_country SET numeric_code = '203' WHERE code_iso = "CZE"; -UPDATE llx_c_country SET numeric_code = '178' WHERE code_iso = "COG"; -UPDATE llx_c_country SET numeric_code = '180' WHERE code_iso = "COD"; -UPDATE llx_c_country SET numeric_code = '214' WHERE code_iso = "DOM"; -UPDATE llx_c_country SET numeric_code = '638' WHERE code_iso = "REU"; -UPDATE llx_c_country SET numeric_code = '646' WHERE code_iso = "RWA"; -UPDATE llx_c_country SET numeric_code = '642' WHERE code_iso = "ROU"; -UPDATE llx_c_country SET numeric_code = '643' WHERE code_iso = "RUS"; -UPDATE llx_c_country SET numeric_code = '882' WHERE code_iso = "WSM"; -UPDATE llx_c_country SET numeric_code = '016' WHERE code_iso = "ASM"; -UPDATE llx_c_country SET numeric_code = '652' WHERE code_iso = "BLM"; -UPDATE llx_c_country SET numeric_code = '659' WHERE code_iso = "KNA"; -UPDATE llx_c_country SET numeric_code = '674' WHERE code_iso = "SMR"; -UPDATE llx_c_country SET numeric_code = '663' WHERE code_iso = "MAF"; -UPDATE llx_c_country SET numeric_code = '666' WHERE code_iso = "SPM"; -UPDATE llx_c_country SET numeric_code = '670' WHERE code_iso = "VCT"; -UPDATE llx_c_country SET numeric_code = '654' WHERE code_iso = "SHN"; -UPDATE llx_c_country SET numeric_code = '662' WHERE code_iso = "LCA"; -UPDATE llx_c_country SET numeric_code = '678' WHERE code_iso = "STP"; -UPDATE llx_c_country SET numeric_code = '686' WHERE code_iso = "SEN"; -UPDATE llx_c_country SET numeric_code = '688' WHERE code_iso = "SRB"; -UPDATE llx_c_country SET numeric_code = '690' WHERE code_iso = "SYC"; -UPDATE llx_c_country SET numeric_code = '694' WHERE code_iso = "SLE"; -UPDATE llx_c_country SET numeric_code = '702' WHERE code_iso = "SGP"; -UPDATE llx_c_country SET numeric_code = '534' WHERE code_iso = "SXM"; -UPDATE llx_c_country SET numeric_code = '760' WHERE code_iso = "SYR"; -UPDATE llx_c_country SET numeric_code = '706' WHERE code_iso = "SOM"; -UPDATE llx_c_country SET numeric_code = '144' WHERE code_iso = "LKA"; -UPDATE llx_c_country SET numeric_code = '748' WHERE code_iso = "SWZ"; -UPDATE llx_c_country SET numeric_code = '710' WHERE code_iso = "ZAF"; -UPDATE llx_c_country SET numeric_code = '729' WHERE code_iso = "SDN"; -UPDATE llx_c_country SET numeric_code = '728' WHERE code_iso = "SSD"; -UPDATE llx_c_country SET numeric_code = '752' WHERE code_iso = "SWE"; -UPDATE llx_c_country SET numeric_code = '756' WHERE code_iso = "CHE"; -UPDATE llx_c_country SET numeric_code = '740' WHERE code_iso = "SUR"; -UPDATE llx_c_country SET numeric_code = '744' WHERE code_iso = "SJM"; -UPDATE llx_c_country SET numeric_code = '764' WHERE code_iso = "THA"; -UPDATE llx_c_country SET numeric_code = '158' WHERE code_iso = "TWN"; -UPDATE llx_c_country SET numeric_code = '834' WHERE code_iso = "TZA"; -UPDATE llx_c_country SET numeric_code = '762' WHERE code_iso = "TJK"; -UPDATE llx_c_country SET numeric_code = '086' WHERE code_iso = "IOT"; -UPDATE llx_c_country SET numeric_code = '260' WHERE code_iso = "ATF"; -UPDATE llx_c_country SET numeric_code = '626' WHERE code_iso = "TLS"; -UPDATE llx_c_country SET numeric_code = '768' WHERE code_iso = "TGO"; -UPDATE llx_c_country SET numeric_code = '772' WHERE code_iso = "TKL"; -UPDATE llx_c_country SET numeric_code = '776' WHERE code_iso = "TON"; -UPDATE llx_c_country SET numeric_code = '780' WHERE code_iso = "TTO"; -UPDATE llx_c_country SET numeric_code = '788' WHERE code_iso = "TUN"; -UPDATE llx_c_country SET numeric_code = '795' WHERE code_iso = "TKM"; -UPDATE llx_c_country SET numeric_code = '792' WHERE code_iso = "TUR"; -UPDATE llx_c_country SET numeric_code = '798' WHERE code_iso = "TUV"; -UPDATE llx_c_country SET numeric_code = '804' WHERE code_iso = "UKR"; -UPDATE llx_c_country SET numeric_code = '800' WHERE code_iso = "UGA"; -UPDATE llx_c_country SET numeric_code = '858' WHERE code_iso = "URY"; -UPDATE llx_c_country SET numeric_code = '860' WHERE code_iso = "UZB"; -UPDATE llx_c_country SET numeric_code = '548' WHERE code_iso = "VUT"; -UPDATE llx_c_country SET numeric_code = '336' WHERE code_iso = "VAT"; -UPDATE llx_c_country SET numeric_code = '862' WHERE code_iso = "VEN"; -UPDATE llx_c_country SET numeric_code = '704' WHERE code_iso = "VNM"; -UPDATE llx_c_country SET numeric_code = '876' WHERE code_iso = "WLF"; -UPDATE llx_c_country SET numeric_code = '887' WHERE code_iso = "YEM"; -UPDATE llx_c_country SET numeric_code = '262' WHERE code_iso = "DJI"; -UPDATE llx_c_country SET numeric_code = '894' WHERE code_iso = "ZMB"; -UPDATE llx_c_country SET numeric_code = '716' WHERE code_iso = "ZWE"; - - +UPDATE llx_c_country SET numeric_code = '004' WHERE code_iso = 'AFG'; +UPDATE llx_c_country SET numeric_code = '248' WHERE code_iso = 'ALA'; +UPDATE llx_c_country SET numeric_code = '008' WHERE code_iso = 'ALB'; +UPDATE llx_c_country SET numeric_code = '276' WHERE code_iso = 'DEU'; +UPDATE llx_c_country SET numeric_code = '020' WHERE code_iso = 'AND'; +UPDATE llx_c_country SET numeric_code = '024' WHERE code_iso = 'AGO'; +UPDATE llx_c_country SET numeric_code = '660' WHERE code_iso = 'AIA'; +UPDATE llx_c_country SET numeric_code = '010' WHERE code_iso = 'ATA'; +UPDATE llx_c_country SET numeric_code = '028' WHERE code_iso = 'ATG'; +UPDATE llx_c_country SET numeric_code = '682' WHERE code_iso = 'SAU'; +UPDATE llx_c_country SET numeric_code = '012' WHERE code_iso = 'DZA'; +UPDATE llx_c_country SET numeric_code = '032' WHERE code_iso = 'ARG'; +UPDATE llx_c_country SET numeric_code = '051' WHERE code_iso = 'ARM'; +UPDATE llx_c_country SET numeric_code = '533' WHERE code_iso = 'ABW'; +UPDATE llx_c_country SET numeric_code = '036' WHERE code_iso = 'AUS'; +UPDATE llx_c_country SET numeric_code = '040' WHERE code_iso = 'AUT'; +UPDATE llx_c_country SET numeric_code = '031' WHERE code_iso = 'AZE'; +UPDATE llx_c_country SET numeric_code = '044' WHERE code_iso = 'BHS'; +UPDATE llx_c_country SET numeric_code = '050' WHERE code_iso = 'BGD'; +UPDATE llx_c_country SET numeric_code = '052' WHERE code_iso = 'BRB'; +UPDATE llx_c_country SET numeric_code = '048' WHERE code_iso = 'BHR'; +UPDATE llx_c_country SET numeric_code = '056' WHERE code_iso = 'BEL'; +UPDATE llx_c_country SET numeric_code = '084' WHERE code_iso = 'BLZ'; +UPDATE llx_c_country SET numeric_code = '204' WHERE code_iso = 'BEN'; +UPDATE llx_c_country SET numeric_code = '060' WHERE code_iso = 'BMU'; +UPDATE llx_c_country SET numeric_code = '112' WHERE code_iso = 'BLR'; +UPDATE llx_c_country SET numeric_code = '068' WHERE code_iso = 'BOL'; +UPDATE llx_c_country SET numeric_code = '535' WHERE code_iso = 'BES'; +UPDATE llx_c_country SET numeric_code = '070' WHERE code_iso = 'BIH'; +UPDATE llx_c_country SET numeric_code = '072' WHERE code_iso = 'BWA'; +UPDATE llx_c_country SET numeric_code = '076' WHERE code_iso = 'BRA'; +UPDATE llx_c_country SET numeric_code = '096' WHERE code_iso = 'BRN'; +UPDATE llx_c_country SET numeric_code = '100' WHERE code_iso = 'BGR'; +UPDATE llx_c_country SET numeric_code = '854' WHERE code_iso = 'BFA'; +UPDATE llx_c_country SET numeric_code = '108' WHERE code_iso = 'BDI'; +UPDATE llx_c_country SET numeric_code = '064' WHERE code_iso = 'BTN'; +UPDATE llx_c_country SET numeric_code = '132' WHERE code_iso = 'CPV'; +UPDATE llx_c_country SET numeric_code = '116' WHERE code_iso = 'KHM'; +UPDATE llx_c_country SET numeric_code = '120' WHERE code_iso = 'CMR'; +UPDATE llx_c_country SET numeric_code = '124' WHERE code_iso = 'CAN'; +UPDATE llx_c_country SET numeric_code = '634' WHERE code_iso = 'QAT'; +UPDATE llx_c_country SET numeric_code = '148' WHERE code_iso = 'TCD'; +UPDATE llx_c_country SET numeric_code = '152' WHERE code_iso = 'CHL'; +UPDATE llx_c_country SET numeric_code = '156' WHERE code_iso = 'CHN'; +UPDATE llx_c_country SET numeric_code = '196' WHERE code_iso = 'CYP'; +UPDATE llx_c_country SET numeric_code = '170' WHERE code_iso = 'COL'; +UPDATE llx_c_country SET numeric_code = '174' WHERE code_iso = 'COM'; +UPDATE llx_c_country SET numeric_code = '408' WHERE code_iso = 'PRK'; +UPDATE llx_c_country SET numeric_code = '410' WHERE code_iso = 'KOR'; +UPDATE llx_c_country SET numeric_code = '384' WHERE code_iso = 'CIV'; +UPDATE llx_c_country SET numeric_code = '188' WHERE code_iso = 'CRI'; +UPDATE llx_c_country SET numeric_code = '191' WHERE code_iso = 'HRV'; +UPDATE llx_c_country SET numeric_code = '192' WHERE code_iso = 'CUB'; +UPDATE llx_c_country SET numeric_code = '531' WHERE code_iso = 'CUW'; +UPDATE llx_c_country SET numeric_code = '208' WHERE code_iso = 'DNK'; +UPDATE llx_c_country SET numeric_code = '212' WHERE code_iso = 'DMA'; +UPDATE llx_c_country SET numeric_code = '218' WHERE code_iso = 'ECU'; +UPDATE llx_c_country SET numeric_code = '818' WHERE code_iso = 'EGY'; +UPDATE llx_c_country SET numeric_code = '222' WHERE code_iso = 'SLV'; +UPDATE llx_c_country SET numeric_code = '784' WHERE code_iso = 'ARE'; +UPDATE llx_c_country SET numeric_code = '232' WHERE code_iso = 'ERI'; +UPDATE llx_c_country SET numeric_code = '703' WHERE code_iso = 'SVK'; +UPDATE llx_c_country SET numeric_code = '705' WHERE code_iso = 'SVN'; +UPDATE llx_c_country SET numeric_code = '724' WHERE code_iso = 'ESP'; +UPDATE llx_c_country SET numeric_code = '840' WHERE code_iso = 'USA'; +UPDATE llx_c_country SET numeric_code = '233' WHERE code_iso = 'EST'; +UPDATE llx_c_country SET numeric_code = '231' WHERE code_iso = 'ETH'; +UPDATE llx_c_country SET numeric_code = '608' WHERE code_iso = 'PHL'; +UPDATE llx_c_country SET numeric_code = '246' WHERE code_iso = 'FIN'; +UPDATE llx_c_country SET numeric_code = '242' WHERE code_iso = 'FJI'; +UPDATE llx_c_country SET numeric_code = '250' WHERE code_iso = 'FRA'; +UPDATE llx_c_country SET numeric_code = '266' WHERE code_iso = 'GAB'; +UPDATE llx_c_country SET numeric_code = '270' WHERE code_iso = 'GMB'; +UPDATE llx_c_country SET numeric_code = '268' WHERE code_iso = 'GEO'; +UPDATE llx_c_country SET numeric_code = '288' WHERE code_iso = 'GHA'; +UPDATE llx_c_country SET numeric_code = '292' WHERE code_iso = 'GIB'; +UPDATE llx_c_country SET numeric_code = '308' WHERE code_iso = 'GRD'; +UPDATE llx_c_country SET numeric_code = '300' WHERE code_iso = 'GRC'; +UPDATE llx_c_country SET numeric_code = '304' WHERE code_iso = 'GRL'; +UPDATE llx_c_country SET numeric_code = '312' WHERE code_iso = 'GLP'; +UPDATE llx_c_country SET numeric_code = '316' WHERE code_iso = 'GUM'; +UPDATE llx_c_country SET numeric_code = '320' WHERE code_iso = 'GTM'; +UPDATE llx_c_country SET numeric_code = '254' WHERE code_iso = 'GUF'; +UPDATE llx_c_country SET numeric_code = '831' WHERE code_iso = 'GGY'; +UPDATE llx_c_country SET numeric_code = '324' WHERE code_iso = 'GIN'; +UPDATE llx_c_country SET numeric_code = '624' WHERE code_iso = 'GNB'; +UPDATE llx_c_country SET numeric_code = '226' WHERE code_iso = 'GNQ'; +UPDATE llx_c_country SET numeric_code = '328' WHERE code_iso = 'GUY'; +UPDATE llx_c_country SET numeric_code = '332' WHERE code_iso = 'HTI'; +UPDATE llx_c_country SET numeric_code = '340' WHERE code_iso = 'HND'; +UPDATE llx_c_country SET numeric_code = '344' WHERE code_iso = 'HKG'; +UPDATE llx_c_country SET numeric_code = '348' WHERE code_iso = 'HUN'; +UPDATE llx_c_country SET numeric_code = '356' WHERE code_iso = 'IND'; +UPDATE llx_c_country SET numeric_code = '360' WHERE code_iso = 'IDN'; +UPDATE llx_c_country SET numeric_code = '368' WHERE code_iso = 'IRQ'; +UPDATE llx_c_country SET numeric_code = '364' WHERE code_iso = 'IRN'; +UPDATE llx_c_country SET numeric_code = '372' WHERE code_iso = 'IRL'; +UPDATE llx_c_country SET numeric_code = '074' WHERE code_iso = 'BVT'; +UPDATE llx_c_country SET numeric_code = '833' WHERE code_iso = 'IMN'; +UPDATE llx_c_country SET numeric_code = '162' WHERE code_iso = 'CXR'; +UPDATE llx_c_country SET numeric_code = '352' WHERE code_iso = 'ISL'; +UPDATE llx_c_country SET numeric_code = '136' WHERE code_iso = 'CYM'; +UPDATE llx_c_country SET numeric_code = '166' WHERE code_iso = 'CCK'; +UPDATE llx_c_country SET numeric_code = '184' WHERE code_iso = 'COK'; +UPDATE llx_c_country SET numeric_code = '234' WHERE code_iso = 'FRO'; +UPDATE llx_c_country SET numeric_code = '239' WHERE code_iso = 'SGS'; +UPDATE llx_c_country SET numeric_code = '334' WHERE code_iso = 'HMD'; +UPDATE llx_c_country SET numeric_code = '238' WHERE code_iso = 'FLK'; +UPDATE llx_c_country SET numeric_code = '580' WHERE code_iso = 'MNP'; +UPDATE llx_c_country SET numeric_code = '584' WHERE code_iso = 'MHL'; +UPDATE llx_c_country SET numeric_code = '612' WHERE code_iso = 'PCN'; +UPDATE llx_c_country SET numeric_code = '090' WHERE code_iso = 'SLB'; +UPDATE llx_c_country SET numeric_code = '796' WHERE code_iso = 'TCA'; +UPDATE llx_c_country SET numeric_code = '581' WHERE code_iso = 'UMI'; +UPDATE llx_c_country SET numeric_code = '092' WHERE code_iso = 'VGB'; +UPDATE llx_c_country SET numeric_code = '850' WHERE code_iso = 'VIR'; +UPDATE llx_c_country SET numeric_code = '376' WHERE code_iso = 'ISR'; +UPDATE llx_c_country SET numeric_code = '380' WHERE code_iso = 'ITA'; +UPDATE llx_c_country SET numeric_code = '388' WHERE code_iso = 'JAM'; +UPDATE llx_c_country SET numeric_code = '392' WHERE code_iso = 'JPN'; +UPDATE llx_c_country SET numeric_code = '832' WHERE code_iso = 'JEY'; +UPDATE llx_c_country SET numeric_code = '400' WHERE code_iso = 'JOR'; +UPDATE llx_c_country SET numeric_code = '398' WHERE code_iso = 'KAZ'; +UPDATE llx_c_country SET numeric_code = '404' WHERE code_iso = 'KEN'; +UPDATE llx_c_country SET numeric_code = '417' WHERE code_iso = 'KGZ'; +UPDATE llx_c_country SET numeric_code = '296' WHERE code_iso = 'KIR'; +UPDATE llx_c_country SET numeric_code = '414' WHERE code_iso = 'KWT'; +UPDATE llx_c_country SET numeric_code = '418' WHERE code_iso = 'LAO'; +UPDATE llx_c_country SET numeric_code = '426' WHERE code_iso = 'LSO'; +UPDATE llx_c_country SET numeric_code = '428' WHERE code_iso = 'LVA'; +UPDATE llx_c_country SET numeric_code = '422' WHERE code_iso = 'LBN'; +UPDATE llx_c_country SET numeric_code = '430' WHERE code_iso = 'LBR'; +UPDATE llx_c_country SET numeric_code = '434' WHERE code_iso = 'LBY'; +UPDATE llx_c_country SET numeric_code = '438' WHERE code_iso = 'LIE'; +UPDATE llx_c_country SET numeric_code = '440' WHERE code_iso = 'LTU'; +UPDATE llx_c_country SET numeric_code = '442' WHERE code_iso = 'LUX'; +UPDATE llx_c_country SET numeric_code = '446' WHERE code_iso = 'MAC'; +UPDATE llx_c_country SET numeric_code = '807' WHERE code_iso = 'MKD'; +UPDATE llx_c_country SET numeric_code = '450' WHERE code_iso = 'MDG'; +UPDATE llx_c_country SET numeric_code = '458' WHERE code_iso = 'MYS'; +UPDATE llx_c_country SET numeric_code = '454' WHERE code_iso = 'MWI'; +UPDATE llx_c_country SET numeric_code = '462' WHERE code_iso = 'MDV'; +UPDATE llx_c_country SET numeric_code = '466' WHERE code_iso = 'MLI'; +UPDATE llx_c_country SET numeric_code = '470' WHERE code_iso = 'MLT'; +UPDATE llx_c_country SET numeric_code = '504' WHERE code_iso = 'MAR'; +UPDATE llx_c_country SET numeric_code = '474' WHERE code_iso = 'MTQ'; +UPDATE llx_c_country SET numeric_code = '480' WHERE code_iso = 'MUS'; +UPDATE llx_c_country SET numeric_code = '478' WHERE code_iso = 'MRT'; +UPDATE llx_c_country SET numeric_code = '175' WHERE code_iso = 'MYT'; +UPDATE llx_c_country SET numeric_code = '484' WHERE code_iso = 'MEX'; +UPDATE llx_c_country SET numeric_code = '583' WHERE code_iso = 'FSM'; +UPDATE llx_c_country SET numeric_code = '498' WHERE code_iso = 'MDA'; +UPDATE llx_c_country SET numeric_code = '492' WHERE code_iso = 'MCO'; +UPDATE llx_c_country SET numeric_code = '496' WHERE code_iso = 'MNG'; +UPDATE llx_c_country SET numeric_code = '499' WHERE code_iso = 'MNE'; +UPDATE llx_c_country SET numeric_code = '500' WHERE code_iso = 'MSR'; +UPDATE llx_c_country SET numeric_code = '508' WHERE code_iso = 'MOZ'; +UPDATE llx_c_country SET numeric_code = '104' WHERE code_iso = 'MMR'; +UPDATE llx_c_country SET numeric_code = '516' WHERE code_iso = 'NAM'; +UPDATE llx_c_country SET numeric_code = '520' WHERE code_iso = 'NRU'; +UPDATE llx_c_country SET numeric_code = '524' WHERE code_iso = 'NPL'; +UPDATE llx_c_country SET numeric_code = '558' WHERE code_iso = 'NIC'; +UPDATE llx_c_country SET numeric_code = '562' WHERE code_iso = 'NER'; +UPDATE llx_c_country SET numeric_code = '566' WHERE code_iso = 'NGA'; +UPDATE llx_c_country SET numeric_code = '570' WHERE code_iso = 'NIU'; +UPDATE llx_c_country SET numeric_code = '574' WHERE code_iso = 'NFK'; +UPDATE llx_c_country SET numeric_code = '578' WHERE code_iso = 'NOR'; +UPDATE llx_c_country SET numeric_code = '540' WHERE code_iso = 'NCL'; +UPDATE llx_c_country SET numeric_code = '554' WHERE code_iso = 'NZL'; +UPDATE llx_c_country SET numeric_code = '512' WHERE code_iso = 'OMN'; +UPDATE llx_c_country SET numeric_code = '528' WHERE code_iso = 'NLD'; +UPDATE llx_c_country SET numeric_code = '586' WHERE code_iso = 'PAK'; +UPDATE llx_c_country SET numeric_code = '585' WHERE code_iso = 'PLW'; +UPDATE llx_c_country SET numeric_code = '275' WHERE code_iso = 'PSE'; +UPDATE llx_c_country SET numeric_code = '591' WHERE code_iso = 'PAN'; +UPDATE llx_c_country SET numeric_code = '598' WHERE code_iso = 'PNG'; +UPDATE llx_c_country SET numeric_code = '600' WHERE code_iso = 'PRY'; +UPDATE llx_c_country SET numeric_code = '604' WHERE code_iso = 'PER'; +UPDATE llx_c_country SET numeric_code = '258' WHERE code_iso = 'PYF'; +UPDATE llx_c_country SET numeric_code = '616' WHERE code_iso = 'POL'; +UPDATE llx_c_country SET numeric_code = '620' WHERE code_iso = 'PRT'; +UPDATE llx_c_country SET numeric_code = '630' WHERE code_iso = 'PRI'; +UPDATE llx_c_country SET numeric_code = '826' WHERE code_iso = 'GBR'; +UPDATE llx_c_country SET numeric_code = '732' WHERE code_iso = 'ESH'; +UPDATE llx_c_country SET numeric_code = '140' WHERE code_iso = 'CAF'; +UPDATE llx_c_country SET numeric_code = '203' WHERE code_iso = 'CZE'; +UPDATE llx_c_country SET numeric_code = '178' WHERE code_iso = 'COG'; +UPDATE llx_c_country SET numeric_code = '180' WHERE code_iso = 'COD'; +UPDATE llx_c_country SET numeric_code = '214' WHERE code_iso = 'DOM'; +UPDATE llx_c_country SET numeric_code = '638' WHERE code_iso = 'REU'; +UPDATE llx_c_country SET numeric_code = '646' WHERE code_iso = 'RWA'; +UPDATE llx_c_country SET numeric_code = '642' WHERE code_iso = 'ROU'; +UPDATE llx_c_country SET numeric_code = '643' WHERE code_iso = 'RUS'; +UPDATE llx_c_country SET numeric_code = '882' WHERE code_iso = 'WSM'; +UPDATE llx_c_country SET numeric_code = '016' WHERE code_iso = 'ASM'; +UPDATE llx_c_country SET numeric_code = '652' WHERE code_iso = 'BLM'; +UPDATE llx_c_country SET numeric_code = '659' WHERE code_iso = 'KNA'; +UPDATE llx_c_country SET numeric_code = '674' WHERE code_iso = 'SMR'; +UPDATE llx_c_country SET numeric_code = '663' WHERE code_iso = 'MAF'; +UPDATE llx_c_country SET numeric_code = '666' WHERE code_iso = 'SPM'; +UPDATE llx_c_country SET numeric_code = '670' WHERE code_iso = 'VCT'; +UPDATE llx_c_country SET numeric_code = '654' WHERE code_iso = 'SHN'; +UPDATE llx_c_country SET numeric_code = '662' WHERE code_iso = 'LCA'; +UPDATE llx_c_country SET numeric_code = '678' WHERE code_iso = 'STP'; +UPDATE llx_c_country SET numeric_code = '686' WHERE code_iso = 'SEN'; +UPDATE llx_c_country SET numeric_code = '688' WHERE code_iso = 'SRB'; +UPDATE llx_c_country SET numeric_code = '690' WHERE code_iso = 'SYC'; +UPDATE llx_c_country SET numeric_code = '694' WHERE code_iso = 'SLE'; +UPDATE llx_c_country SET numeric_code = '702' WHERE code_iso = 'SGP'; +UPDATE llx_c_country SET numeric_code = '534' WHERE code_iso = 'SXM'; +UPDATE llx_c_country SET numeric_code = '760' WHERE code_iso = 'SYR'; +UPDATE llx_c_country SET numeric_code = '706' WHERE code_iso = 'SOM'; +UPDATE llx_c_country SET numeric_code = '144' WHERE code_iso = 'LKA'; +UPDATE llx_c_country SET numeric_code = '748' WHERE code_iso = 'SWZ'; +UPDATE llx_c_country SET numeric_code = '710' WHERE code_iso = 'ZAF'; +UPDATE llx_c_country SET numeric_code = '729' WHERE code_iso = 'SDN'; +UPDATE llx_c_country SET numeric_code = '728' WHERE code_iso = 'SSD'; +UPDATE llx_c_country SET numeric_code = '752' WHERE code_iso = 'SWE'; +UPDATE llx_c_country SET numeric_code = '756' WHERE code_iso = 'CHE'; +UPDATE llx_c_country SET numeric_code = '740' WHERE code_iso = 'SUR'; +UPDATE llx_c_country SET numeric_code = '744' WHERE code_iso = 'SJM'; +UPDATE llx_c_country SET numeric_code = '764' WHERE code_iso = 'THA'; +UPDATE llx_c_country SET numeric_code = '158' WHERE code_iso = 'TWN'; +UPDATE llx_c_country SET numeric_code = '834' WHERE code_iso = 'TZA'; +UPDATE llx_c_country SET numeric_code = '762' WHERE code_iso = 'TJK'; +UPDATE llx_c_country SET numeric_code = '086' WHERE code_iso = 'IOT'; +UPDATE llx_c_country SET numeric_code = '260' WHERE code_iso = 'ATF'; +UPDATE llx_c_country SET numeric_code = '626' WHERE code_iso = 'TLS'; +UPDATE llx_c_country SET numeric_code = '768' WHERE code_iso = 'TGO'; +UPDATE llx_c_country SET numeric_code = '772' WHERE code_iso = 'TKL'; +UPDATE llx_c_country SET numeric_code = '776' WHERE code_iso = 'TON'; +UPDATE llx_c_country SET numeric_code = '780' WHERE code_iso = 'TTO'; +UPDATE llx_c_country SET numeric_code = '788' WHERE code_iso = 'TUN'; +UPDATE llx_c_country SET numeric_code = '795' WHERE code_iso = 'TKM'; +UPDATE llx_c_country SET numeric_code = '792' WHERE code_iso = 'TUR'; +UPDATE llx_c_country SET numeric_code = '798' WHERE code_iso = 'TUV'; +UPDATE llx_c_country SET numeric_code = '804' WHERE code_iso = 'UKR'; +UPDATE llx_c_country SET numeric_code = '800' WHERE code_iso = 'UGA'; +UPDATE llx_c_country SET numeric_code = '858' WHERE code_iso = 'URY'; +UPDATE llx_c_country SET numeric_code = '860' WHERE code_iso = 'UZB'; +UPDATE llx_c_country SET numeric_code = '548' WHERE code_iso = 'VUT'; +UPDATE llx_c_country SET numeric_code = '336' WHERE code_iso = 'VAT'; +UPDATE llx_c_country SET numeric_code = '862' WHERE code_iso = 'VEN'; +UPDATE llx_c_country SET numeric_code = '704' WHERE code_iso = 'VNM'; +UPDATE llx_c_country SET numeric_code = '876' WHERE code_iso = 'WLF'; +UPDATE llx_c_country SET numeric_code = '887' WHERE code_iso = 'YEM'; +UPDATE llx_c_country SET numeric_code = '262' WHERE code_iso = 'DJI'; +UPDATE llx_c_country SET numeric_code = '894' WHERE code_iso = 'ZMB'; +UPDATE llx_c_country SET numeric_code = '716' WHERE code_iso = 'ZWE'; From 50971047abaea13c5959259ca14fbfc0a3f2fff9 Mon Sep 17 00:00:00 2001 From: Maximilien Rozniecki Date: Mon, 13 Mar 2023 15:53:37 +0100 Subject: [PATCH 15/22] removed the option to see the email information --- htdocs/admin/agenda_other.php | 9 --------- htdocs/comm/action/card.php | 2 +- htdocs/langs/en_US/admin.lang | 1 - 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index 5ff544a1f6c..18797312ad8 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -87,7 +87,6 @@ if ($action == 'set') { dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_TYPE', $defaultfilter, 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_STATUS', GETPOST('AGENDA_DEFAULT_FILTER_STATUS'), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, 'AGENDA_DEFAULT_VIEW', GETPOST('AGENDA_DEFAULT_VIEW'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "COMM_ACTION_MAIL_DESCRIPTION", GETPOST("COMM_ACTION_MAIL_DESCRIPTION", 'int'), 'chaine', 0, '', $conf->entity); $defaultValues = new DefaultValues($db); $result = $defaultValues->fetchAll('', '', 0, 0, array('t.page'=>'comm/action/card.php', 't.param'=>'complete', 't.user_id'=>'0', 't.type'=>'createform', 't.entity'=>$conf->entity)); @@ -399,14 +398,6 @@ print ''."\n"; $formactions->form_select_status_action('agenda', getDolGlobalString('AGENDA_DEFAULT_FILTER_STATUS'), 1, 'AGENDA_DEFAULT_FILTER_STATUS', 1, 2, 'minwidth100'); print ''."\n"; -//comm action show in description the mail information -print ''."\n"; -print ''.$langs->trans("COMM_ACTION_MAIL_DESCRIPTION").''."\n"; -print ' '."\n"; -print ''."\n"; -print $form->selectyesno('COMM_ACTION_MAIL_DESCRIPTION', getDolGlobalString('COMM_ACTION_MAIL_DESCRIPTION'), 1); -print ''; - print ''; print $form->buttonsSaveCancel("Save", ''); diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index b5a62c7480e..69cd535f82f 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -2404,7 +2404,7 @@ if ($id > 0) { } //mail information - if (!empty($object->email_msgid) && $conf->global->COMM_ACTION_MAIL_DESCRIPTION) { + if (!empty($object->email_msgid)) { print ''.$langs->trans('MailTopic').''; print ''.dol_escape_htmltag($object->email_subject).''; print ''.$langs->trans('MailFrom').''; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 1a72704a2af..2ef2a996f3b 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -313,7 +313,6 @@ MAIN_DISABLE_ALL_SMS=Disable all SMS sending (for test purposes or demos) MAIN_SMS_SENDMODE=Method to use to send SMS MAIN_MAIL_SMS_FROM=Default sender phone number for SMS sending MAIN_MAIL_DEFAULT_FROMTYPE=Default sender email for manual sending (User email or Company email) -COMM_ACTION_MAIL_DESCRIPTION=Show the email information (sender, receivers, etc) in the event description (if defined) UserEmail=User email CompanyEmail=Company Email FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. From 5b8f9be246f8f4c9b4f9510c4380a75793ebc656 Mon Sep 17 00:00:00 2001 From: Maximilien Rozniecki Date: Mon, 13 Mar 2023 16:12:05 +0100 Subject: [PATCH 16/22] empty commit From bd4d06887cea9a24d09ca97755fb1dd43692a75a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Tue, 14 Mar 2023 22:05:16 +0100 Subject: [PATCH 17/22] return null instead void --- htdocs/core/lib/functions.lib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 77f4cc09b77..b7c028b65e8 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -83,12 +83,12 @@ function getMultidirOutput($object, $module = '') { global $conf; if (!is_object($object)) { - return; + return null; } if (empty($module) && !empty($object->element)) { $module = $object->element; } else { - return; + return null; } return $conf->$module->multidir_output[$object->entity]; } From c93d615e4282b2efdd76d52f9a7324a1a3c76f99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Tue, 14 Mar 2023 22:27:35 +0100 Subject: [PATCH 18/22] enhance tooltip ajax info --- htdocs/comm/propal/class/propal.class.php | 11 ++++++++++- htdocs/commande/class/commande.class.php | 11 ++++++++++- htdocs/contrat/class/contrat.class.php | 18 ++++++++++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 5df317c0a2a..40e8fe385d7 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -3726,11 +3726,20 @@ class Propal extends CommonObject if (empty($this->thirdparty)) { $this->fetch_thirdparty(); } - $datas['customer'] = '
'.$langs->trans('Customer').': '.$this->thirdparty->name; + $datas['customer'] = '
'.$langs->trans('Customer').': '.$this->thirdparty->getNomUrl(1, '', 0, 1); } if (!empty($this->ref_client)) { $datas['refcustomer'] = '
'.$langs->trans('RefCustomer').': '.$this->ref_client; } + if (!$nofetch) { + $langs->load('project'); + if (empty($this->project)) { + $res = $this->fetch_project(); + if ($res > 0) { + $datas['project'] = '
'.$langs->trans('Project').': '.$this->project->getNomUrl(1, '', 0, 1); + } + } + } if (!empty($this->total_ht)) { $datas['amountht'] = '
'.$langs->trans('AmountHT').': '.price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); } diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 590a7fbe132..026d931a89a 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -3745,9 +3745,18 @@ class Commande extends CommonOrder if (empty($this->thirdparty)) { $this->fetch_thirdparty(); } - $datas['customer'] = '
'.$langs->trans('Customer').': '.$this->thirdparty->name; + $datas['customer'] = '
'.$langs->trans('Customer').': '.$this->thirdparty->getNomUrl(1, '', 0, 1); } $datas['RefCustomer'] = '
'.$langs->trans('RefCustomer').': '.(empty($this->ref_customer) ? (empty($this->ref_client) ? '' : $this->ref_client) : $this->ref_customer); + if (!$nofetch) { + $langs->load('project'); + if (empty($this->project)) { + $res = $this->fetch_project(); + if ($res > 0) { + $datas['project'] = '
'.$langs->trans('Project').': '.$this->project->getNomUrl(1, '', 0, 1); + } + } + } if (!empty($this->total_ht)) { $datas['AmountHT'] = '
'.$langs->trans('AmountHT').': '.price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); } diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 3e3678fbcad..8e6c2ea0161 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -1995,6 +1995,7 @@ class Contrat extends CommonObject $langs->load('contracts'); $datas = []; + $nofetch = !empty($params['nofetch']); if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { return ['optimize' => $langs->trans("ShowContract")]; @@ -2006,7 +2007,23 @@ class Contrat extends CommonObject $label .= ' '.$this->getLibStatut(5); }*/ $datas['ref'] = '
'.$langs->trans('Ref').': '.($this->ref ? $this->ref : $this->id); + if (!$nofetch) { + $langs->load('companies'); + if (empty($this->thirdparty)) { + $this->fetch_thirdparty(); + } + $datas['customer'] = '
'.$langs->trans('Customer').': '.$this->thirdparty->getNomUrl(1, '', 0, 1); + } $datas['refcustomer'] = '
'.$langs->trans('RefCustomer').': '. $this->ref_customer; + if (!$nofetch) { + $langs->load('project'); + if (empty($this->project)) { + $res = $this->fetch_project(); + if ($res > 0) { + $datas['project'] = '
'.$langs->trans('Project').': '.$this->project->getNomUrl(1, '', 0, 1); + } + } + } $datas['refsupplier'] = '
'.$langs->trans('RefSupplier').': '.$this->ref_supplier; if (!empty($this->total_ht)) { $datas['amountht'] = '
'.$langs->trans('AmountHT').': '.price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); @@ -2052,6 +2069,7 @@ class Contrat extends CommonObject $params = [ 'id' => $this->id, 'objecttype' => $this->element, + 'nofetch' => 1, ]; $classfortooltip = 'classfortooltip'; $dataparams = ''; From dd885a8e29c882448d9a2d3c7e07903efe3b2714 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 18 Mar 2023 10:55:05 +0100 Subject: [PATCH 19/22] Update functions.lib.php --- htdocs/core/lib/functions.lib.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index b7c028b65e8..0c4a91e6259 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -72,12 +72,12 @@ if (!function_exists('utf8_decode')) { } /** - * Return multidir output for an Dolibarr object + * Return the full path of the directory where a module (or an object of a module) stores its files. Path may depends on the entity if a multicompany module is enabled. * - * @param CommonObject $object Dolibarr common object - * @param string $module override object element, by example mycompany instead societe + * @param CommonObject $object Dolibarr common object + * @param string $module Override object element, for example to use 'mycompany' instead of 'societe' + * @return string|void The path of the relative directory of the module * @since Dolibarr V18 - * @return string|void */ function getMultidirOutput($object, $module = '') { From 86c7bbe33a426ab703333b210d27135bb455b7c4 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Sat, 18 Mar 2023 11:30:44 +0100 Subject: [PATCH 20/22] FIX return $conf->entity if $object->entity is null --- htdocs/core/lib/functions.lib.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 69b437ab650..a07b1152393 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -82,15 +82,13 @@ if (!function_exists('utf8_decode')) { function getMultidirOutput($object, $module = '') { global $conf; - if (!is_object($object)) { + if (!is_object($object) && empty($module)) { return null; } - if (empty($module) && !empty($object->element)) { + if (!empty($object->element)) { $module = $object->element; - } else { - return null; } - return $conf->$module->multidir_output[$object->entity]; + return $conf->$module->multidir_output[(!empty($object->entity) ? $object->entity : $conf->entity)]; } /** From 5f9ac6cd734242174860c7d70b55654110353d76 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Sat, 18 Mar 2023 11:43:45 +0100 Subject: [PATCH 21/22] FIX regression --- htdocs/core/lib/functions.lib.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index a07b1152393..f6d0710de66 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -85,8 +85,10 @@ function getMultidirOutput($object, $module = '') if (!is_object($object) && empty($module)) { return null; } - if (!empty($object->element)) { + if (empty($module) && !empty($object->element)) { $module = $object->element; + } else { + return null; } return $conf->$module->multidir_output[(!empty($object->entity) ? $object->entity : $conf->entity)]; } From 5e9eb6f185b2cd67f23839704d4993a4f0045240 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Sat, 18 Mar 2023 11:49:57 +0100 Subject: [PATCH 22/22] FIX missing $module value if $module not empty and $object->element is empty --- htdocs/core/lib/functions.lib.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index f6d0710de66..0c0a721a4ea 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -87,8 +87,6 @@ function getMultidirOutput($object, $module = '') } if (empty($module) && !empty($object->element)) { $module = $object->element; - } else { - return null; } return $conf->$module->multidir_output[(!empty($object->entity) ? $object->entity : $conf->entity)]; }