This commit is contained in:
Laurent Destailleur
2025-12-15 15:56:34 +01:00
4 changed files with 41 additions and 2 deletions

View File

@@ -57,7 +57,20 @@ class DolibarrApi
Defaults::$cacheDirectory = $cachedir;
$this->db = $db;
$production_mode = (!getDolGlobalString('API_PRODUCTION_MODE') ? false : true);
$production_mode = (getDolGlobalString('API_PRODUCTION_MODE') ? true : false);
if ($production_mode) {
// Create the directory Defaults::$cacheDirectory if it does not exist. If dir does not exist, using production_mode generates an error 500.
include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
if (!dol_is_dir(Defaults::$cacheDirectory)) {
dol_mkdir(Defaults::$cacheDirectory, DOL_DATA_ROOT);
}
if (getDolGlobalString('MAIN_API_DEBUG')) {
dol_syslog("Debug API construct::cacheDirectory=".Defaults::$cacheDirectory, LOG_DEBUG, 0, '_api');
}
}
$this->r = new Restler($production_mode, $refreshCache);
$urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));

View File

@@ -379,6 +379,19 @@ class pdf_crabe extends ModelePDFFactures
$this->atleastonediscount++;
}
// determine category of operation
$is_deposit = false;
if (preg_match('/^\((.*)\)$/', $object->lines[$i]->desc, $reg)) {
if ($reg[1] == 'DEPOSIT') {
$is_deposit = true;
}
}
// If DEPOSIT, this line is completely ignored for calculations.
if ($is_deposit) {
continue;
}
// determine category of operation
if ($categoryOfOperation < 2) {
$lineProductType = $object->lines[$i]->product_type;

View File

@@ -404,6 +404,19 @@ class pdf_sponge extends ModelePDFFactures
$this->atleastonediscount++;
}
// Do not take into account lines of the type “deposit.”
$is_deposit = false;
if (preg_match('/^\((.*)\)$/', $object->lines[$i]->desc, $reg)) {
if ($reg[1] == 'DEPOSIT') {
$is_deposit = true;
}
}
// If DEPOSIT, this line is completely ignored for calculations.
if ($is_deposit) {
continue;
}
// determine category of operation
if ($categoryOfOperation < 2) {
$lineProductType = $object->lines[$i]->product_type;

View File

@@ -230,7 +230,7 @@ if ($id > 0 || !empty($ref)) {
$bomtmp->ref = $objp->ref;
$product = new Product($db);
if (!empty($objp->fk_product)) {
if (!array_key_exists($product->id, $product_cache)) {
if (!array_key_exists($objp->fk_product, $product_cache)) {
$resultFetch = $product->fetch($objp->fk_product);
if ($resultFetch < 0) {
setEventMessages($product->error, $product->errors, 'errors');