This commit is contained in:
Laurent Destailleur 2019-07-18 17:50:15 +02:00
commit b044d95acf
6 changed files with 42 additions and 16 deletions

View File

@ -38,7 +38,7 @@ require_once DOL_DOCUMENT_ROOT.'/expensereport/class/paymentexpensereport.class.
// Load translation files required by the page // Load translation files required by the page
$langs->loadLangs(array("other","compta","banks","bills","companies","product","trips","admin","accountancy")); $langs->loadLangs(array("other","compta","banks","bills","companies","product","trips","admin","accountancy"));
$modecompta = GETPOST('modecompta','alpha'); $modecompta = (GETPOST('modecompta', 'alpha') ? GETPOST('modecompta', 'alpha') : $conf->global->ACCOUNTING_MODE);
// Date range // Date range
$year=GETPOST("year",'int'); $year=GETPOST("year",'int');

View File

@ -10,7 +10,7 @@
* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com>
* Copyright (C) 2016 Bahfir abbes <dolipar@dolipar.org> * Copyright (C) 2016 Bahfir abbes <dolipar@dolipar.org>
* Copyright (C) 2017 ATM Consulting <support@atm-consulting.fr> * Copyright (C) 2017 ATM Consulting <support@atm-consulting.fr>
* Copyright (C) 2017 Nicolas ZABOURI <info@inovea-conseil.com> * Copyright (C) 2017-2019 Nicolas ZABOURI <info@inovea-conseil.com>
* Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com> * Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
* Copyright (C) 2018 Josep Lluís Amador <joseplluis@lliuretic.cat> * Copyright (C) 2018 Josep Lluís Amador <joseplluis@lliuretic.cat>
@ -53,7 +53,7 @@ abstract class CommonObject
/** /**
* @var string Error string * @var string Error string
* @see errors * @see $errors
*/ */
public $error; public $error;
@ -2689,7 +2689,7 @@ abstract class CommonObject
$MODULE = ""; $MODULE = "";
if ($this->element == 'propal') if ($this->element == 'propal')
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_PROPOSAL"; $MODULE = "MODULE_DISALLOW_UPDATE_PRICE_PROPOSAL";
elseif ($this->element == 'order') elseif ($this->element == 'commande' || $this->element == 'order')
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_ORDER"; $MODULE = "MODULE_DISALLOW_UPDATE_PRICE_ORDER";
elseif ($this->element == 'facture') elseif ($this->element == 'facture')
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_INVOICE"; $MODULE = "MODULE_DISALLOW_UPDATE_PRICE_INVOICE";

View File

@ -468,7 +468,8 @@ if (empty($reshook))
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expedition->supprimer) else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expedition->supprimer)
{ {
$result = $object->delete(); $also_update_stock = GETPOST('alsoUpdateStock', 'alpha') ?: 0;
$result = $object->delete($also_update_stock);
if ($result > 0) if ($result > 0)
{ {
header("Location: ".DOL_URL_ROOT.'/expedition/index.php'); header("Location: ".DOL_URL_ROOT.'/expedition/index.php');
@ -1644,7 +1645,26 @@ else if ($id || $ref)
// Confirm deleteion // Confirm deleteion
if ($action == 'delete') if ($action == 'delete')
{ {
$formconfirm=$form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id,$langs->trans('DeleteSending'),$langs->trans("ConfirmDeleteSending",$object->ref),'confirm_delete','',0,1); $formquestion = array();
if ($object->statut == Expedition::STATUS_CLOSED && !empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT_CLOSE)) {
$formquestion = array(
array(
'label' => $langs->trans('ShipmentIncrementStockOnDelete'),
'name' => 'alsoUpdateStock',
'type' => 'checkbox',
'value' => 0
),
);
}
$formconfirm=$form->formconfirm(
$_SERVER['PHP_SELF'].'?id='.$object->id,
$langs->trans('DeleteSending'),
$langs->trans("ConfirmDeleteSending",$object->ref),
'confirm_delete',
$formquestion,
0,
1
);
} }
// Confirmation validation // Confirmation validation

View File

@ -1145,9 +1145,11 @@ class Expedition extends CommonObject
* Delete shipment. * Delete shipment.
* Warning, do not delete a shipment if a delivery is linked to (with table llx_element_element) * Warning, do not delete a shipment if a delivery is linked to (with table llx_element_element)
* *
* @param bool $also_update_stock true if the stock should be increased back (false by default)
* @return int >0 if OK, 0 if deletion done but failed to delete files, <0 if KO * @return int >0 if OK, 0 if deletion done but failed to delete files, <0 if KO
* @throws Exception
*/ */
function delete() function delete($also_update_stock = false)
{ {
global $conf, $langs, $user; global $conf, $langs, $user;
@ -1179,7 +1181,9 @@ class Expedition extends CommonObject
} }
// Stock control // Stock control
if (! $error && $conf->stock->enabled && $conf->global->STOCK_CALCULATE_ON_SHIPMENT && $this->statut > self::STATUS_DRAFT) if (! $error && $conf->stock->enabled &&
(($conf->global->STOCK_CALCULATE_ON_SHIPMENT && $this->statut > self::STATUS_DRAFT) ||
($conf->global->STOCK_CALCULATE_ON_SHIPMENT_CLOSE && $this->statut == self::STATUS_CLOSED && $also_update_stock)))
{ {
require_once DOL_DOCUMENT_ROOT."/product/stock/class/mouvementstock.class.php"; require_once DOL_DOCUMENT_ROOT."/product/stock/class/mouvementstock.class.php";

View File

@ -1537,7 +1537,7 @@ class CommandeFournisseur extends CommonOrder
$desc=trim($desc); $desc=trim($desc);
// Check parameters // Check parameters
if ($qty < 1 && ! $fk_product) if ($qty < 0 && ! $fk_product)
{ {
$this->error=$langs->trans("ErrorFieldRequired",$langs->trans("Product")); $this->error=$langs->trans("ErrorFieldRequired",$langs->trans("Product"));
return -1; return -1;

View File

@ -60,6 +60,8 @@ NoProductToShipFoundIntoStock=Aucun produit à expédier n'a été trouver dans
WeightVolShort=Poids/vol. WeightVolShort=Poids/vol.
ValidateOrderFirstBeforeShipment=Vous devez d'abord valider la commande pour pouvoir créer une expédition. ValidateOrderFirstBeforeShipment=Vous devez d'abord valider la commande pour pouvoir créer une expédition.
ShipmentIncrementStockOnDelete=Remettre en stock les éléments de cette expédition
# Sending methods # Sending methods
# ModelDocument # ModelDocument
DocumentModelTyphon=Modèle de bon de réception/livraison complet (logo…) DocumentModelTyphon=Modèle de bon de réception/livraison complet (logo…)