diff --git a/htdocs/product/inventory/inventory.php b/htdocs/product/inventory/inventory.php index c9dcb1fc40b..54d633da186 100644 --- a/htdocs/product/inventory/inventory.php +++ b/htdocs/product/inventory/inventory.php @@ -108,9 +108,11 @@ if ($limit > 0 && $limit != $conf->liste_limit) { if (!getDolGlobalString('MAIN_USE_ADVANCED_PERMS')) { $permissiontoadd = $user->hasRight('stock', 'creer'); $permissiontodelete = $user->hasRight('stock', 'supprimer'); + $permissiontoupdatestock = $user->hasRight('stock', 'mouvement', 'creer'); } else { $permissiontoadd = $user->hasRight('stock', 'inventory_advance', 'write'); $permissiontodelete = $user->hasRight('stock', 'inventory_advance', 'write'); + $permissiontoupdatestock = $user->hasRight('stock', 'inventory_advance', 'write'); } $now = dol_now(); @@ -135,12 +137,12 @@ if ($reshook < 0) { if (empty($reshook)) { $error = 0; - if ($action == 'cancel_record' && $permissiontoadd) { + if ($action == 'cancel_record' && $permissiontoupdatestock) { $object->setCanceled($user); } // Close inventory by recording the stock movements - if ($action == 'update' && $user->hasRight('stock', 'mouvement', 'creer') && $object->status == $object::STATUS_VALIDATED) { + if ($action == 'update' && $permissiontoupdatestock && $object->status == $object::STATUS_VALIDATED) { $stockmovment = new MouvementStock($db); $stockmovment->setOrigin($object->element, $object->id); @@ -267,7 +269,7 @@ if (empty($reshook)) { } // Save quantity found during inventory (when we click on Save button on inventory page) - if ($action == 'updateinventorylines' && $permissiontoadd) { + if ($action == 'updateinventorylines' && $permissiontoupdatestock) { $sql = 'SELECT id.rowid, id.datec as date_creation, id.tms as date_modification, id.fk_inventory, id.fk_warehouse,'; $sql .= ' id.fk_product, id.batch, id.qty_stock, id.qty_view, id.qty_regulated'; $sql .= ' FROM '.MAIN_DB_PREFIX.'inventorydet as id'; @@ -591,7 +593,7 @@ if ($action != 'record') { if (empty($reshook)) { if ($object->status == Inventory::STATUS_DRAFT) { - if ($permissiontoadd) { + if ($permissiontoupdatestock) { if (getDolGlobalInt('INVENTORY_INCLUDE_SUB_WAREHOUSE') && !empty($object->fk_warehouse)) { print ''.$langs->trans("Validate").' ('.$langs->trans("Start").')'; } else { @@ -604,13 +606,13 @@ if ($action != 'record') { // Save if ($object->status == $object::STATUS_VALIDATED) { - if ($permissiontoadd) { + if ($permissiontoupdatestock) { print 'id.'&action=record&page='.$page.$paramwithsearch.'&token='.newToken().'" title="'.dol_escape_htmltag($langs->trans("MakeMovementsAndClose")).'">'.$langs->trans("MakeMovementsAndClose").''."\n"; } else { print ''.$langs->trans('MakeMovementsAndClose').''."\n"; } - if ($permissiontoadd) { + if ($permissiontoupdatestock) { print 'id.'&action=confirm_cancel&page='.$page.$paramwithsearch.'&token='.newToken().'">'.$langs->trans("Cancel").''."\n"; } } @@ -627,7 +629,7 @@ if ($action != 'record') { if ($object->status == Inventory::STATUS_VALIDATED) { print '