diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php
index 43760d808b2..2b7c1c025f1 100644
--- a/htdocs/product/stock/class/mouvementstock.class.php
+++ b/htdocs/product/stock/class/mouvementstock.class.php
@@ -46,10 +46,18 @@ class MouvementStock extends CommonObject
*/
public $product_id;
+ /**
+ * @var int ID warehouse
+ * @deprecated
+ * @see $warehouse_id
+ */
+ public $entrepot_id;
+
/**
* @var int ID warehouse
*/
public $warehouse_id;
+
public $qty;
/**
@@ -541,7 +549,7 @@ class MouvementStock extends CommonObject
} elseif (empty($fk_product_stock)) {
$fk_product_stock = $this->db->last_insert_id($this->db->prefix()."product_stock");
}
- }
+ }entrepot_id
// Update detail of stock for the lot.
if (!$error && isModEnabled('productbatch') && $product->hasbatch() && !$skip_batch) {
diff --git a/htdocs/product/stock/class/productlot.class.php b/htdocs/product/stock/class/productlot.class.php
index 649c5578fa4..890a9fbd0f6 100644
--- a/htdocs/product/stock/class/productlot.class.php
+++ b/htdocs/product/stock/class/productlot.class.php
@@ -585,6 +585,34 @@ class Productlot extends CommonObject
}
+ /**
+ * getTooltipContentArray
+ * @param array $params params to construct tooltip data
+ * @since v18
+ * @return array
+ */
+ public function getTooltipContentArray($params)
+ {
+ global $conf, $langs, $user;
+
+ $langs->loadLangs(['stocks', 'productbatch']);
+
+ $datas = [];
+ $option = $params['option'] ?? '';
+ $datas['picto'] = img_picto('', $this->picto).' '.$langs->trans("Batch").'';
+ $datas['divopen'] = '
';
+ $datas['batch'] = ''.$langs->trans('Batch').': '.$this->batch;
+ if ($this->eatby && empty($conf->global->PRODUCT_DISABLE_EATBY)) {
+ $datas['eatby'] = '
'.$langs->trans('EatByDate').': '.dol_print_date($this->eatby, 'day');
+ }
+ if ($this->sellby && empty($conf->global->PRODUCT_DISABLE_SELLBY)) {
+ $datas['sellby'] = '
'.$langs->trans('SellByDate').': '.dol_print_date($this->sellby, 'day');
+ }
+ $datas['divclose'] = '
';
+
+ return $datas;
+ }
+
/**
* Return a link to the a lot card (with optionaly the picto)
* Use this->id,this->lastname, this->firstname
@@ -629,13 +657,25 @@ class Productlot extends CommonObject
}
$linkclose = '';
+ $classfortooltip = 'classfortooltip';
+ $dataparams = '';
+ if (getDolGlobalInt('MAIN_ENABLE_AJAX_TOOLTIP')) {
+ $params = [
+ 'id' => $this->id,
+ 'objecttype' => $this->element,
+ 'option' => $option,
+ ];
+ $classfortooltip = 'classforajaxtooltip';
+ $dataparams = ' data-params='.json_encode($params);
+ $label = $langs->trans('Loading');
+ }
if (empty($notooltip)) {
if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) {
$label = $langs->trans("ShowMyObject");
$linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"';
}
$linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"';
- $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"';
+ $linkclose .= $dataparams.' class="'.$classfortooltip.($morecss ? ' '.$morecss : '').'"';
} else {
$linkclose = ($morecss ? ' class="'.$morecss.'"' : '');
}
@@ -654,7 +694,7 @@ class Productlot extends CommonObject
$result .= $linkstart;
if ($withpicto) {
- $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1);
+ $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : $dataparams.' class="'.(($withpicto != 2) ? 'paddingright ' : '').$classfortooltip.'"'), 0, 0, $notooltip ? 0 : 1);
}
if ($withpicto != 2) {
$result .= $this->batch;