diff --git a/htdocs/core/lib/stock.lib.php b/htdocs/core/lib/stock.lib.php
index 4d1bc5b3593..988c7a2d78c 100644
--- a/htdocs/core/lib/stock.lib.php
+++ b/htdocs/core/lib/stock.lib.php
@@ -29,7 +29,7 @@
*/
function stock_prepare_head($object)
{
- global $langs, $conf;
+ global $langs, $conf, $user;
$h = 0;
$head = array();
@@ -39,10 +39,13 @@ function stock_prepare_head($object)
$head[$h][2] = 'card';
$h++;
- $head[$h][0] = DOL_URL_ROOT.'/product/stock/movement_list.php?id='.$object->id;
- $head[$h][1] = $langs->trans("StockMovements");
- $head[$h][2] = 'movements';
- $h++;
+ if (!empty($user->rights->stock->mouvement->lire))
+ {
+ $head[$h][0] = DOL_URL_ROOT.'/product/stock/movement_list.php?id='.$object->id;
+ $head[$h][1] = $langs->trans("StockMovements");
+ $head[$h][2] = 'movements';
+ $h++;
+ }
/*
$head[$h][0] = DOL_URL_ROOT.'/product/stock/fiche-valo.php?id='.$object->id;
diff --git a/htdocs/product/stock/card.php b/htdocs/product/stock/card.php
index 9337d03bc11..94a379c4e90 100644
--- a/htdocs/product/stock/card.php
+++ b/htdocs/product/stock/card.php
@@ -428,30 +428,26 @@ else
print "";
// Last movement
- $sql = "SELECT max(m.datem) as datem";
- $sql .= " FROM ".MAIN_DB_PREFIX."stock_mouvement as m";
- $sql .= " WHERE m.fk_entrepot = '".$object->id."'";
- $resqlbis = $db->query($sql);
- if ($resqlbis)
- {
- $obj = $db->fetch_object($resqlbis);
- $lastmovementdate=$db->jdate($obj->datem);
+ if (!empty($user->rights->stock->mouvement->lire)) {
+ $sql = "SELECT max(m.datem) as datem";
+ $sql .= " FROM " . MAIN_DB_PREFIX . "stock_mouvement as m";
+ $sql .= " WHERE m.fk_entrepot = '" . $object->id . "'";
+ $resqlbis = $db->query($sql);
+ if ($resqlbis) {
+ $obj = $db->fetch_object($resqlbis);
+ $lastmovementdate = $db->jdate($obj->datem);
+ } else {
+ dol_print_error($db);
+ }
+ print '
| ' . $langs->trans("LastMovement") . ' | ';
+ if ($lastmovementdate) {
+ print dol_print_date($lastmovementdate, 'dayhour') . ' ';
+ print '(' . $langs->trans("FullList") . ')';
+ } else {
+ print $langs->trans("None");
+ }
+ print " |
";
}
- else
- {
- dol_print_error($db);
- }
- print '| '.$langs->trans("LastMovement").' | ';
- if ($lastmovementdate)
- {
- print dol_print_date($lastmovementdate, 'dayhour').' ';
- print '('.$langs->trans("FullList").')';
- }
- else
- {
- print $langs->trans("None");
- }
- print " |
";
// Other attributes
include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
diff --git a/htdocs/product/stock/movement_list.php b/htdocs/product/stock/movement_list.php
index a4831d46844..ac00062cc6e 100644
--- a/htdocs/product/stock/movement_list.php
+++ b/htdocs/product/stock/movement_list.php
@@ -118,6 +118,10 @@ $arrayfields=array(
//'m.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500)
);
+// Security check
+if (!$user->rights->stock->mouvement->lire) {
+ accessforbidden();
+}
/*
diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php
index d2bc7fe68cb..dbcd0a2cf61 100644
--- a/htdocs/product/stock/product.php
+++ b/htdocs/product/stock/product.php
@@ -694,24 +694,27 @@ if ($id > 0 || $ref)
print '';
// Last movement
- $sql = "SELECT max(m.datem) as datem";
- $sql .= " FROM " . MAIN_DB_PREFIX . "stock_mouvement as m";
- $sql .= " WHERE m.fk_product = '" . $object->id . "'";
- $resqlbis = $db->query($sql);
- if ($resqlbis) {
- $obj = $db->fetch_object($resqlbis);
- $lastmovementdate = $db->jdate($obj->datem);
- } else {
- dol_print_error($db);
+ if (!empty($user->rights->stock->mouvement->lire))
+ {
+ $sql = "SELECT max(m.datem) as datem";
+ $sql .= " FROM " . MAIN_DB_PREFIX . "stock_mouvement as m";
+ $sql .= " WHERE m.fk_product = '" . $object->id . "'";
+ $resqlbis = $db->query($sql);
+ if ($resqlbis) {
+ $obj = $db->fetch_object($resqlbis);
+ $lastmovementdate = $db->jdate($obj->datem);
+ } else {
+ dol_print_error($db);
+ }
+ print '| ' . $langs->trans("LastMovement") . ' | ';
+ if ($lastmovementdate) {
+ print dol_print_date($lastmovementdate, 'dayhour') . ' ';
+ print '(' . $langs->trans("FullList") . ')';
+ } else {
+ print '' . $langs->trans("None") . '';
+ }
+ print " |
";
}
- print '| ' . $langs->trans("LastMovement") . ' | ';
- if ($lastmovementdate) {
- print dol_print_date($lastmovementdate, 'dayhour') . ' ';
- print '(' . $langs->trans("FullList") . ')';
- } else {
- print '' . $langs->trans("None") . '';
- }
- print " |
";
}
print "";