From a61fa2b049c59a6c7f45f52c367375136bfd1e9a Mon Sep 17 00:00:00 2001 From: Christophe Battarel Date: Thu, 25 Feb 2021 15:15:00 +0100 Subject: [PATCH 1/8] differentiate serial numbers from lot management --- htdocs/langs/en_US/productbatch.lang | 6 ++++-- htdocs/langs/fr_FR/productbatch.lang | 6 ++++-- htdocs/product/card.php | 20 +++++++++++++++++--- htdocs/product/class/product.class.php | 14 +++++++++----- htdocs/product/list.php | 26 ++++++++++++++++++++++++-- 5 files changed, 58 insertions(+), 14 deletions(-) diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index 54270c4a23b..b4f3408ecf0 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -1,8 +1,10 @@ # ProductBATCH language file - en_US - ProductBATCH ManageLotSerial=Use lot/serial number -ProductStatusOnBatch=Yes (lot/serial required) +ProductStatusOnBatch=Lot (required) +ProductStatusOnSerial=Serial number (required) ProductStatusNotOnBatch=No (lot/serial not used) -ProductStatusOnBatchShort=Yes +ProductStatusOnBatchShort=Lot +ProductStatusOnSerialShort=Serial ProductStatusNotOnBatchShort=No Batch=Lot/Serial atleast1batchfield=Eat-by date or Sell-by date or Lot/Serial number diff --git a/htdocs/langs/fr_FR/productbatch.lang b/htdocs/langs/fr_FR/productbatch.lang index 162af66827c..b4b5a56c5cd 100644 --- a/htdocs/langs/fr_FR/productbatch.lang +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -1,8 +1,10 @@ # ProductBATCH language file - en_US - ProductBATCH ManageLotSerial=Utiliser les numéros de lots/série -ProductStatusOnBatch=Oui (Lot/Série requis) +ProductStatusOnBatch=Lot (requis) +ProductStatusOnSerial=Numéro de série (requis) ProductStatusNotOnBatch=Non (Lot/Série non utilisé) -ProductStatusOnBatchShort=Oui +ProductStatusOnBatchShort=Lot +ProductStatusOnSerialShort=N°série ProductStatusNotOnBatchShort=Non Batch=Lot/Série atleast1batchfield=Date limite utilisation optimale, de consommation ou numéro de lot/série diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 55c29aa1381..7532ce68661 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1029,7 +1029,14 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) if (!empty($conf->productbatch->enabled)) { print ''.$langs->trans("ManageLotSerial").''; - $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch")); + if ( empty($conf->global ->MAIN_ADVANCE_NUMLOT) ) + { + $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch")); + } + else + { + $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch"), '2' => $langs->trans("ProductStatusOnSerial")); + } print $form->selectarray('status_batch', $statutarray, GETPOST('status_batch')); print ''; } @@ -1488,7 +1495,14 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) if ($object->isProduct() || !empty($conf->global->STOCK_SUPPORTS_SERVICES)) { print ''.$langs->trans("ManageLotSerial").''; - $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch")); + if ( empty($conf->global ->MAIN_ADVANCE_NUMLOT) ) + { + $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch")); + } + else + { + $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch"), '2' => $langs->trans("ProductStatusOnSerial")); + } print $form->selectarray('status_batch', $statutarray, $object->status_batch); print ''; } @@ -1996,7 +2010,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) if ($object->isProduct() || !empty($conf->global->STOCK_SUPPORTS_SERVICES)) { print ''.$langs->trans("ManageLotSerial").''; - if (!empty($conf->use_javascript_ajax) && $usercancreate && !empty($conf->global->MAIN_DIRECT_STATUS_UPDATE)) { + if (!empty($conf->use_javascript_ajax) && $usercancreate && !empty($conf->global->MAIN_DIRECT_STATUS_UPDATE) && empty($conf->global->MAIN_ADVANCE_NUMLOT)) { print ajax_object_onoff($object, 'status_batch', 'tobatch', 'ProductStatusOnBatch', 'ProductStatusNotOnBatch'); } else { print $object->getLibStatut(0, 2); diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 9a71faa5665..e46128750da 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -4688,10 +4688,10 @@ class Product extends CommonObject switch ($mode) { case 0: - $label = ($status == 0 ? $langs->trans('ProductStatusNotOnBatch') : $langs->trans('ProductStatusOnBatch')); + $label = ($status == 0 ? $langs->trans('ProductStatusNotOnBatch') : ($status == 1 || empty($conf->global->MAIN_ADVANCE_NUMLOT) ? $langs->trans('ProductStatusOnBatch') : $langs->trans('ProductStatusOnSerial'))); return dolGetStatus($label); case 1: - $label = ($status == 0 ? $langs->trans('ProductStatusNotOnBatchShort') : $langs->trans('ProductStatusOnBatchShort')); + $label = ($status == 0 ? $langs->trans('ProductStatusNotOnBatchShort') : ($status == 1 || empty($conf->global->MAIN_ADVANCE_NUMLOT) ? $langs->trans('ProductStatusOnBatchShort') : $langs->trans('ProductStatusOnSerialShort'))); return dolGetStatus($label); case 2: return $this->LibStatut($status, 3, 2).' '.$this->LibStatut($status, 1, 2); @@ -4729,11 +4729,15 @@ class Product extends CommonObject $labelStatus = $langs->trans('ProductStatusOnBuyShort'); $labelStatusShort = $langs->trans('ProductStatusOnBuy'); } elseif ($type == 2) { - $labelStatus = $langs->trans('ProductStatusOnBatch'); - $labelStatusShort = $langs->trans('ProductStatusOnBatchShort'); + $labelStatus = ($status == 1 || empty($conf->global->MAIN_ADVANCE_NUMLOT) ? $langs->trans('ProductStatusOnBatch') : $langs->trans('ProductStatusOnSerial')); + $labelStatusShort = ($status == 1 || empty($conf->global->MAIN_ADVANCE_NUMLOT) ? $langs->trans('ProductStatusOnBatchShort') : $langs->trans('ProductStatusOnSerialShort')); } } - + elseif ( ! empty($conf->global->MAIN_ADVANCE_NUMLOT) && $type == 2 && $status == 2) + { + $labelStatus = $langs->trans('ProductStatusOnSerial'); + $labelStatusShort = $langs->trans('ProductStatusOnSerialShort'); + } if ($mode > 6) { return dolGetStatus($langs->trans('Unknown'), '', '', 'status0', 0); diff --git a/htdocs/product/list.php b/htdocs/product/list.php index f7999860185..00590ed3c95 100644 --- a/htdocs/product/list.php +++ b/htdocs/product/list.php @@ -833,7 +833,22 @@ if ($resql) // Stock if (!empty($arrayfields['stock_virtual']['checked'])) print ' '; // To batch - if (!empty($arrayfields['p.tobatch']['checked'])) print ''.$form->selectyesno('search_tobatch', $search_tobatch, 1, false, 1).''; + if (!empty($arrayfields['p.tobatch']['checked'])) + { + print ''; + + if ( empty($conf->global ->MAIN_ADVANCE_NUMLOT) ) + { + print $form->selectyesno('search_tobatch', $search_tobatch, 1, false, 1); + } + else + { + $statutarray = array('-1' => '', '0' => $langs->trans("ProductStatusNotOnBatchShort"), '1' => $langs->trans("ProductStatusOnBatchShort"), '2' => $langs->trans("ProductStatusOnSerialShort")); + print $form->selectarray('search_tobatch', $statutarray, $search_tobatch); + } + + ''; + } // Country if (!empty($arrayfields['p.fk_country']['checked'])) print ''.$form->select_country($search_country, 'search_country', '', 0).''; // State @@ -1463,7 +1478,14 @@ if ($resql) if (!empty($arrayfields['p.tobatch']['checked'])) { print ''; - print yn($obj->tobatch); + if ( empty($conf->global->MAIN_ADVANCE_NUMLOT) ) + { + print yn($obj->tobatch); + } + else + { + print $product_static->getLibStatut(1, 2); + } print ''; if (!$i) $totalarray['nbfield']++; } From a3a8e7c4e4e6841b00fecfdc250cf9c6972c568b Mon Sep 17 00:00:00 2001 From: Christophe Battarel Date: Thu, 25 Feb 2021 15:35:45 +0100 Subject: [PATCH 2/8] change hasBatch function --- htdocs/product/class/product.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index e46128750da..436613f2777 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -5460,7 +5460,7 @@ class Product extends CommonObject */ public function hasbatch() { - return ($this->status_batch == 1 ? true : false); + return ($this->status_batch > 0 ? true : false); } From 75298b4ac6864441e9ef968820d417de1b13538b Mon Sep 17 00:00:00 2001 From: Christophe Battarel Date: Thu, 25 Feb 2021 16:00:42 +0100 Subject: [PATCH 3/8] fix for stickler --- htdocs/product/card.php | 6 ++---- htdocs/product/list.php | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 7532ce68661..7c951ad1596 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1033,8 +1033,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch")); } - else - { + else { $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch"), '2' => $langs->trans("ProductStatusOnSerial")); } print $form->selectarray('status_batch', $statutarray, GETPOST('status_batch')); @@ -1499,8 +1498,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch")); } - else - { + else { $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch"), '2' => $langs->trans("ProductStatusOnSerial")); } print $form->selectarray('status_batch', $statutarray, $object->status_batch); diff --git a/htdocs/product/list.php b/htdocs/product/list.php index 00590ed3c95..19c6ca1de00 100644 --- a/htdocs/product/list.php +++ b/htdocs/product/list.php @@ -840,8 +840,7 @@ if ($resql) if ( empty($conf->global ->MAIN_ADVANCE_NUMLOT) ) { print $form->selectyesno('search_tobatch', $search_tobatch, 1, false, 1); - } - else + } else { $statutarray = array('-1' => '', '0' => $langs->trans("ProductStatusNotOnBatchShort"), '1' => $langs->trans("ProductStatusOnBatchShort"), '2' => $langs->trans("ProductStatusOnSerialShort")); print $form->selectarray('search_tobatch', $statutarray, $search_tobatch); @@ -1482,8 +1481,7 @@ if ($resql) { print yn($obj->tobatch); } - else - { + else { print $product_static->getLibStatut(1, 2); } print ''; From 4aaf9e133aeab56df2eb812205634b16e86063c9 Mon Sep 17 00:00:00 2001 From: Christophe Battarel Date: Fri, 26 Feb 2021 11:51:23 +0100 Subject: [PATCH 4/8] change translation --- htdocs/langs/en_US/productbatch.lang | 2 +- htdocs/langs/fr_FR/productbatch.lang | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index b4f3408ecf0..a05a6190fc4 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -1,7 +1,7 @@ # ProductBATCH language file - en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Lot (required) -ProductStatusOnSerial=Serial number (required) +ProductStatusOnSerial=Serial number (must be unique for each equipment) ProductStatusNotOnBatch=No (lot/serial not used) ProductStatusOnBatchShort=Lot ProductStatusOnSerialShort=Serial diff --git a/htdocs/langs/fr_FR/productbatch.lang b/htdocs/langs/fr_FR/productbatch.lang index b4b5a56c5cd..76cba909e2c 100644 --- a/htdocs/langs/fr_FR/productbatch.lang +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -1,7 +1,7 @@ # ProductBATCH language file - en_US - ProductBATCH ManageLotSerial=Utiliser les numéros de lots/série ProductStatusOnBatch=Lot (requis) -ProductStatusOnSerial=Numéro de série (requis) +ProductStatusOnSerial=Numéro de série (doit être unique pour chaque équipement) ProductStatusNotOnBatch=Non (Lot/Série non utilisé) ProductStatusOnBatchShort=Lot ProductStatusOnSerialShort=N°série From 29467e983a14745fdcab5d23eeff8f40b73029d3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 26 Feb 2021 13:50:54 +0100 Subject: [PATCH 5/8] Code comment --- ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index 7daade7ae2a..951c4297f0c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,8 @@ Following changes may create regressions for some external modules, but were nec * API /setup/shipment_methods has been replaced with API /setup/shipping_methods * Field "tva" renamed into "total_tva" in llx_propal, llx_supplier_proposal, llx_commande, llx_commande_fournisseur for better field name consistency * Field "total" renamed into "total_ttc" in llx_propal, llx_supplier_proposal for better field name consistency +* If your database is PostgreSql, you must use version 9.1.0 or more (Dolibarr need the SQL function CONCAT) +* If your database is MySql or MariaDB, you need at least version 5.1 ***** ChangeLog for 13.0.1 compared to 13.0.0 ***** From 93f0754be934c2e3e5374f6c2734fada4b01b01e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 26 Feb 2021 14:33:27 +0100 Subject: [PATCH 6/8] Fix removed a bugged section (not used, was in develop mode only) --- htdocs/compta/tva/index.php | 43 +------------------------------------ 1 file changed, 1 insertion(+), 42 deletions(-) diff --git a/htdocs/compta/tva/index.php b/htdocs/compta/tva/index.php index 76eed6b1bf8..c831d5fe61c 100644 --- a/htdocs/compta/tva/index.php +++ b/htdocs/compta/tva/index.php @@ -559,7 +559,7 @@ print '
'; /* - * Paid + * VAT Paid */ print load_fiche_titre($langs->trans("VATPaid"), '', ''); @@ -586,47 +586,6 @@ $sql .= " ORDER BY dm ASC, mode ASC"; pt($db, $sql, $langs->trans("Month")); - -if (!empty($conf->global->MAIN_FEATURES_LEVEL)) { - print '
'; - - /* - * Recap - */ - - print load_fiche_titre($langs->trans("VATBalance"), '', ''); // need to add translation - - $sql1 = "SELECT SUM(amount) as mm"; - $sql1 .= " FROM ".MAIN_DB_PREFIX."tva as f"; - $sql1 .= " WHERE f.entity = ".$conf->entity; - $sql1 .= " AND f.datev >= '".$db->idate($date_start)."'"; - $sql1 .= " AND f.datev <= '".$db->idate($date_end)."'"; - - $result = $db->query($sql1); - if ($result) { - $obj = $db->fetch_object($result); - print ''; - - print ""; - print ''; - print ''; - print "\n"; - - print ""; - print ''; - print '\n"; - print "\n"; - - $restopay = $total - $obj->mm; - print ""; - print ''; - print ''; - print "\n"; - - print '
'.$langs->trans("VATDue").''.price(price2num($total, 'MT')).'
'.$langs->trans("VATPaid").''.price(price2num($obj->mm, 'MT'))."
'.$langs->trans("RemainToPay").''.price(price2num($restopay, 'MT')).'
'; - } -} - print '
'; llxFooter(); From 5d0a0fe3410eb64e57fe47dc4715347ff287ece2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 26 Feb 2021 14:53:16 +0100 Subject: [PATCH 7/8] Clean code --- htdocs/core/modules/commande/doc/pdf_einstein.modules.php | 3 ++- htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php | 3 ++- htdocs/core/modules/facture/doc/pdf_crabe.modules.php | 3 ++- htdocs/core/modules/facture/doc/pdf_sponge.modules.php | 3 ++- htdocs/core/modules/propale/doc/pdf_azur.modules.php | 3 ++- htdocs/core/modules/propale/doc/pdf_cyan.modules.php | 3 ++- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index ffd18c77cc6..f8f196a9fa3 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -1433,7 +1433,8 @@ class pdf_einstein extends ModelePDFCommandes $carac_client_name = pdfBuildThirdpartyName($thirdparty, $outputlangs); - $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, 'target', $object); + $mode = 'target'; + $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, $mode, $object); // Show recipient $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 100; diff --git a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php index 32a5fa18c6f..b64a0066390 100644 --- a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php @@ -1618,7 +1618,8 @@ class pdf_eratosthene extends ModelePDFCommandes $carac_client_name = pdfBuildThirdpartyName($thirdparty, $outputlangs); - $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, 'target', $object); + $mode = 'target'; + $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, $mode, $object); // Show recipient $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 100; diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index 2747ee4e246..d5842b4481f 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -1850,7 +1850,8 @@ class pdf_crabe extends ModelePDFFactures $carac_client_name = pdfBuildThirdpartyName($thirdparty, $outputlangs); - $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, 'target', $object); + $mode = 'target'; + $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, $mode, $object); // Show recipient $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 100; diff --git a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php index 49bc90f1d69..a1da1666629 100644 --- a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php @@ -2116,7 +2116,8 @@ class pdf_sponge extends ModelePDFFactures $carac_client_name = pdfBuildThirdpartyName($thirdparty, $outputlangs); - $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, 'target', $object); + $mode = 'target'; + $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, $mode, $object); // Show recipient $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 100; diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index 227b192a85d..1f36c874c2b 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -1602,7 +1602,8 @@ class pdf_azur extends ModelePDFPropales $carac_client_name = pdfBuildThirdpartyName($thirdparty, $outputlangs); - $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, 'target', $object); + $mode = 'target'; + $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, $mode, $object); // Show recipient $widthrecbox = 100; diff --git a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php index 368b5520421..027b3da46ba 100644 --- a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php @@ -1718,7 +1718,8 @@ class pdf_cyan extends ModelePDFPropales $carac_client_name = pdfBuildThirdpartyName($thirdparty, $outputlangs); - $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact, 'target', $object); + $mode = 'target'; + $carac_client = pdf_build_address($outputlangs, $this->emetteur, $object->thirdparty, ($usecontact ? $object->contact : ''), $usecontact,$mode, $object); // Show recipient $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 100; From c4e98486f7485408291c3ec095af3f1582692ea9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 26 Feb 2021 15:15:55 +0100 Subject: [PATCH 8/8] Trans --- htdocs/langs/en_US/productbatch.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index a05a6190fc4..aa13c745c96 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -1,7 +1,7 @@ # ProductBATCH language file - en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Lot (required) -ProductStatusOnSerial=Serial number (must be unique for each equipment) +ProductStatusOnSerial=Unique Serial Number (required) ProductStatusNotOnBatch=No (lot/serial not used) ProductStatusOnBatchShort=Lot ProductStatusOnSerialShort=Serial