diff --git a/htdocs/core/photos_resize.php b/htdocs/core/photos_resize.php
index 008e524f299..b3079691cd5 100644
--- a/htdocs/core/photos_resize.php
+++ b/htdocs/core/photos_resize.php
@@ -487,8 +487,8 @@ print load_fiche_titre($title);
$infoarray = dol_getImageSize($dir."/".GETPOST("file", 'alpha'));
$height = $infoarray['height'];
$width = $infoarray['width'];
-print $langs->trans("CurrentInformationOnImage").': ';
-print $langs->trans("Width").': '.$width.' x '.$langs->trans("Height").': '.$height.' ';
+print ''.$langs->trans("CurrentInformationOnImage").': ';
+print $langs->trans("Width").': '.$width.' x '.$langs->trans("Height").': '.$height.' ';
print ' '."\n";
diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang
index 4585841911b..8e949661c49 100644
--- a/htdocs/langs/en_US/stocks.lang
+++ b/htdocs/langs/en_US/stocks.lang
@@ -106,7 +106,7 @@ LieuWareHouse=Localisation warehouse
WarehousesAndProducts=Warehouses and products
WarehousesAndProductsBatchDetail=Warehouses and products (with detail per lot/serial)
AverageUnitPricePMPShort=Weighted average price
-AverageUnitPricePMPDesc=The input average unit price we had to pay to suppliers to get the product into our stock.
+AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock.
SellPriceMin=Selling Unit Price
EstimatedStockValueSellShort=Value for sell
EstimatedStockValueSell=Value for sell
diff --git a/htdocs/product/reassort.php b/htdocs/product/reassort.php
index 815b49911dd..5e0720e106c 100644
--- a/htdocs/product/reassort.php
+++ b/htdocs/product/reassort.php
@@ -307,7 +307,7 @@ if ($resql) {
$moreforfilter = '';
if (!empty($conf->categorie->enabled)) {
$moreforfilter .= '
';
- $moreforfilter .= $langs->trans('Categories').': ';
+ $moreforfilter .= img_picto($langs->trans('Categories'), 'category', 'class="pictofixedwidth"');
$moreforfilter .= $htmlother->select_categories(Categorie::TYPE_PRODUCT, $search_categ, 'search_categ');
$moreforfilter .= '
';
}
@@ -493,7 +493,10 @@ if ($resql) {
if (!empty($conf->global->PRODUCT_USE_UNITS)) {
print ''.$objp->unit_short.' ';
}
- print ''.$langs->trans("Movements").' ';
+ print '';
+ print img_picto($langs->trans("StockMovement"), 'movement', 'class="pictofixedwidth"');
+ print ''.$langs->trans("Movements").' ';
+ print ' ';
print ''.$product->LibStatut($objp->statut, 5, 0).' ';
print ''.$product->LibStatut($objp->tobuy, 5, 1).' ';
// Fields from hook
diff --git a/htdocs/product/reassortlot.php b/htdocs/product/reassortlot.php
index 8a5da81ca5b..3c1f7313855 100644
--- a/htdocs/product/reassortlot.php
+++ b/htdocs/product/reassortlot.php
@@ -309,7 +309,7 @@ if ($resql) {
$moreforfilter = '';
if (!empty($conf->categorie->enabled)) {
$moreforfilter .= '';
- $moreforfilter .= $langs->trans('Categories').': ';
+ $moreforfilter .= img_picto($langs->trans('Categories'), 'category', 'class="pictofixedwidth"');
$moreforfilter .= $htmlother->select_categories(Categorie::TYPE_PRODUCT, $search_categ, 'search_categ');
$moreforfilter .= '
';
}
diff --git a/htdocs/product/stock/card.php b/htdocs/product/stock/card.php
index 294c31d49ba..7f2f8f58bb5 100644
--- a/htdocs/product/stock/card.php
+++ b/htdocs/product/stock/card.php
@@ -449,8 +449,10 @@ if ($action == 'create') {
}
print ''.$langs->trans("LastMovement").' ';
if ($lastmovementdate) {
- print dol_print_date($lastmovementdate, 'dayhour').' ';
- print '('.$langs->trans("FullList").' )';
+ print dol_print_date($lastmovementdate, 'dayhour');
+ print ' ';
+ print img_picto($langs->trans('LastMovement'), 'movement', 'class="pictofixedwidth"');
+ print ''.$langs->trans("FullList").' ';
} else {
print $langs->trans("None");
}
@@ -515,11 +517,11 @@ if ($action == 'create') {
print " ";
print_liste_field_titre("Product", "", "p.ref", "&id=".$id, "", "", $sortfield, $sortorder);
print_liste_field_titre("Label", "", "p.label", "&id=".$id, "", "", $sortfield, $sortorder);
- print_liste_field_titre("Units", "", "ps.reel", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
+ print_liste_field_titre("NumberOfUnit", "", "ps.reel", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
if (!empty($conf->global->PRODUCT_USE_UNITS)) {
print_liste_field_titre("Unit", "", "p.fk_unit", "&id=".$id, "", 'align="left"', $sortfield, $sortorder);
}
- print_liste_field_titre("AverageUnitPricePMPShort", "", "p.pmp", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
+ print_liste_field_titre($form->textwithpicto($langs->trans("AverageUnitPricePMPShort"), $langs->trans("AverageUnitPricePMPDesc")), "", "p.pmp", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
print_liste_field_titre("EstimatedStockValueShort", "", "", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
if (empty($conf->global->PRODUIT_MULTIPRICES)) {
print_liste_field_titre("SellPriceMin", "", "p.price", "&id=".$id, "", '', $sortfield, $sortorder, 'right ');
@@ -628,13 +630,15 @@ if ($action == 'create') {
if ($user->rights->stock->mouvement->creer) {
print '';
- print img_picto($langs->trans("StockMovement"), 'uparrow.png', 'class="hideonsmartphone"').' '.$langs->trans("StockMovement");
+ print img_picto($langs->trans("TransferStock"), 'add', 'class="hideonsmartphone pictofixedwidth" style="color: #a69944"');
+ print $langs->trans("TransferStock");
print " ";
}
if ($user->rights->stock->creer) {
print '';
- print $langs->trans("StockCorrection");
+ print img_picto($langs->trans("CorrectStock"), 'add', 'class="hideonsmartphone pictofixedwidth" style="color: #a69944"');
+ print $langs->trans("CorrectStock");
print " ";
}
if (!empty($conf->global->PRODUCT_USE_UNITS)) {
diff --git a/htdocs/product/stock/movement_list.php b/htdocs/product/stock/movement_list.php
index 65192df842f..3db1e3308ac 100644
--- a/htdocs/product/stock/movement_list.php
+++ b/htdocs/product/stock/movement_list.php
@@ -836,9 +836,9 @@ if ($resql) {
}
if ($id > 0) {
- print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'stock', 0, '', '', $limit, 0, 0, 1);
+ print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'movement', 0, '', '', $limit, 0, 0, 1);
} else {
- print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'stock', 0, '', '', $limit, 0, 0, 1);
+ print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'movement', 0, '', '', $limit, 0, 0, 1);
}
// Add code for pre mass action (confirmation or email presend form)
@@ -1125,7 +1125,10 @@ if ($resql) {
print ' ';
// Id movement
if (!empty($arrayfields['m.rowid']['checked'])) {
- print ''.$objp->mid.' '; // This is primary not movement id
+ print '';
+ print img_picto($langs->trans("StockMovement"), 'movement', 'class="pictofixedwidth"');
+ print $objp->mid;
+ print ' '; // This is primary not movement id
}
if (!empty($arrayfields['m.datem']['checked'])) {
// Date
diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php
index e45f48d9ef8..f6d77bdb6c0 100644
--- a/htdocs/product/stock/product.php
+++ b/htdocs/product/stock/product.php
@@ -564,7 +564,9 @@ if ($id > 0 || $ref) {
print ' ';
// AWP
- print ''.$form->textwithpicto($langs->trans("AverageUnitPricePMPShort"), $langs->trans("AverageUnitPricePMPDesc")).' ';
+ print '';
+ print $form->textwithpicto($langs->trans("AverageUnitPricePMPShort"), $langs->trans("AverageUnitPricePMPDesc"));
+ print ' ';
print '';
if ($object->pmp > 0) {
print price($object->pmp).' '.$langs->trans("HT");
@@ -765,8 +767,11 @@ if ($id > 0 || $ref) {
print ' '.$langs->trans("LastMovement").' ';
if ($lastmovementdate) {
print dol_print_date($lastmovementdate, 'dayhour').' ';
- print ' '.$langs->trans("FullList").' ';
+ print ' ';
+ print img_picto($langs->trans("StockMovement"), 'movement', 'class="pictofixedwidth"');
+ print ''.$langs->trans("FullList").' ';
} else {
+ print img_picto($langs->trans("StockMovement"), 'movement', 'class="pictofixedwidth"');
print ''.$langs->trans("None").' ';
}
print " ";
@@ -811,20 +816,19 @@ if (empty($reshook)) {
if ($user->rights->stock->mouvement->creer) {
if (!$variants || !empty($conf->global->VARIANT_ALLOW_STOCK_MOVEMENT_ON_VARIANT_PARENT)) {
- print 'id.'&action=correction">'.$langs->trans("CorrectStock").' ';
+ print 'id.'&action=transfert">'.$langs->trans("TransferStock").' ';
} else {
- print ''.$langs->trans("CorrectStock").' ';
+ print ''.$langs->trans("TransferStock").' ';
}
} else {
print ''.$langs->trans("CorrectStock").' ';
}
- //if (($user->rights->stock->mouvement->creer) && ! $object->hasbatch())
if ($user->rights->stock->mouvement->creer) {
if (!$variants || !empty($conf->global->VARIANT_ALLOW_STOCK_MOVEMENT_ON_VARIANT_PARENT)) {
- print 'id.'&action=transfert">'.$langs->trans("TransferStock").' ';
+ print 'id.'&action=correction">'.$langs->trans("CorrectStock").' ';
} else {
- print ''.$langs->trans("TransferStock").' ';
+ print ''.$langs->trans("CorrectStock").' ';
}
} else {
print ''.$langs->trans("CorrectStock").' ';
@@ -850,28 +854,32 @@ if (!$variants) {
print ''.$langs->trans("EstimatedStockValueShort").' ';
print ''.$langs->trans("SellPriceMin").' ';
print ''.$langs->trans("EstimatedStockValueSellShort").' ';
+ print ' ';
+ print ' ';
print '';
if ((!empty($conf->productbatch->enabled)) && $object->hasbatch()) {
$colspan = 3;
- print ' ';
- print ''.$langs->trans("batch_number").' ';
+ print ' ';
+ print ''.$langs->trans("batch_number").' ';
if (empty($conf->global->PRODUCT_DISABLE_EATBY)) {
$colspan--;
- print ''.$langs->trans("EatByDate").' ';
+ print ''.$langs->trans("EatByDate").' ';
}
if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) {
$colspan--;
- print ''.$langs->trans("SellByDate").' ';
+ print ''.$langs->trans("SellByDate").' ';
}
print ' ';
print ' ';
print ' ';
print ' ';
print ' ';
+ print ' ';
+ print ' ';
print ' ';
}
- $sql = "SELECT e.rowid, e.ref, e.lieu, e.fk_parent, e.statut, ps.reel, ps.rowid as product_stock_id, p.pmp";
+ $sql = "SELECT e.rowid, e.ref, e.lieu, e.fk_parent, e.statut as status, ps.reel, ps.rowid as product_stock_id, p.pmp";
$sql .= " FROM ".MAIN_DB_PREFIX."entrepot as e,";
$sql .= " ".MAIN_DB_PREFIX."product_stock as ps";
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON p.rowid = ps.fk_product";
@@ -901,7 +909,8 @@ if (!$variants) {
$entrepotstatic->label = $obj->ref;
$entrepotstatic->lieu = $obj->lieu;
$entrepotstatic->fk_parent = $obj->fk_parent;
- $entrepotstatic->statut = $obj->statut;
+ $entrepotstatic->statut = $obj->status;
+ $entrepotstatic->status = $obj->status;
$stock_real = price2num($obj->reel, 'MS');
print '';
@@ -922,10 +931,13 @@ if (!$variants) {
// Value sell
print '';
if (empty($conf->global->PRODUIT_MULTIPRICES)) {
- print price(price2num($object->price * $obj->reel, 'MT'), 1).' ';
+ print price(price2num($object->price * $obj->reel, 'MT'), 1);
} else {
print $langs->trans("Variable");
}
+ print '';
+ print ' ';
+ print ' ';
print ' ';
$total += $obj->reel;
if (price2num($object->pmp)) {
@@ -967,16 +979,14 @@ if (!$variants) {
print ' ';
print '';
print '';
- print '';
+ print '';
+ print ' ';
+ print ' ';
+ print '';
} else {
- print "\n".'';
- print img_picto($langs->trans("Tranfer"), 'uparrow', 'class="hideonsmartphone"').' ';
- print 'id.'&id_entrepot='.$entrepotstatic->id.'&action=transfert&pdluoid='.$pdluo->id.'">'.$langs->trans("TransferStock").' ';
- // Disabled, because edition of stock content must use the "Correct stock menu".
- // Do not use this, or data will be wrong (bad tracking of movement label, inventory code, ...
- //print 'id.'#'.$pdluo->id.'">';
- //print img_edit().' ';
- print '';
+ print "\n".' ';
+ print ' ';
+ print '';
print $product_lot_static->getNomUrl(1);
print ' ';
$colspan = 3;
@@ -990,6 +1000,30 @@ if (!$variants) {
}
print ''.$pdluo->qty.($pdluo->qty < 0 ? ' '.img_warning() : '').' ';
print ' ';
+ print '';
+ if ($entrepotstatic->status != $entrepotstatic::STATUS_CLOSED) {
+ print 'id.'&id_entrepot='.$entrepotstatic->id.'&action=transfert&pdluoid='.$pdluo->id.'">';
+ print img_picto($langs->trans("TransferStock"), 'add', 'class="hideonsmartphone paddingright" style="color: #a69944"');
+ print $langs->trans("TransferStock");
+ print ' ';
+ // Disabled, because edition of stock content must use the "Correct stock menu".
+ // Do not use this, or data will be wrong (bad tracking of movement label, inventory code, ...
+ //print 'id.'#'.$pdluo->id.'">';
+ //print img_edit().' ';
+ }
+ print ' ';
+ print '';
+ if ($entrepotstatic->status != $entrepotstatic::STATUS_CLOSED) {
+ print 'id.'&id_entrepot='.$entrepotstatic->id.'&action=correction&pdluoid='.$pdluo->id.'">';
+ print img_picto($langs->trans("CorrectStock"), 'add', 'class="hideonsmartphone paddingright" style="color: #a69944"');
+ print $langs->trans("CorrectStock");
+ print ' ';
+ // Disabled, because edition of stock content must use the "Correct stock menu".
+ // Do not use this, or data will be wrong (bad tracking of movement label, inventory code, ...
+ //print 'id.'#'.$pdluo->id.'">';
+ //print img_edit().' ';
+ }
+ print ' ';
print ' ';
}
}
@@ -1025,6 +1059,8 @@ if (!$variants) {
print $langs->trans("Variable");
}
print '';
+ print ' ';
+ print ' ';
print "";
print "";
diff --git a/htdocs/product/stock/tpl/stocktransfer.tpl.php b/htdocs/product/stock/tpl/stocktransfer.tpl.php
index e98244e5eed..dcd19be4ad6 100644
--- a/htdocs/product/stock/tpl/stocktransfer.tpl.php
+++ b/htdocs/product/stock/tpl/stocktransfer.tpl.php
@@ -72,7 +72,10 @@ print '';
if ($object->element == 'product') {
print ''.$langs->trans("WarehouseSource").' ';
print '';
- print img_picto('', 'stock').$formproduct->selectWarehouses((GETPOST("dwid") ?GETPOST("dwid", 'int') : (GETPOST('id_entrepot') ?GETPOST('id_entrepot', 'int') : ($object->element == 'product' && $object->fk_default_warehouse ? $object->fk_default_warehouse : 'ifone'))), 'id_entrepot', 'warehouseopen,warehouseinternal', 1);
+ print img_picto('', 'stock');
+ $selected = (GETPOST("dwid") ?GETPOST("dwid", 'int') : (GETPOST('id_entrepot') ?GETPOST('id_entrepot', 'int') : ($object->element == 'product' && $object->fk_default_warehouse ? $object->fk_default_warehouse : 'ifone')));
+ $warehousestatus = 'warehouseopen,warehouseinternal';
+ print $formproduct->selectWarehouses($selected, 'id_entrepot', $warehousestatus, 1);
print ' ';
}
if ($object->element == 'stock') {