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;