FIX : $childtablesoncascade use + fix $permissiontodelete

This commit is contained in:
Gauthier PC portable 024 2021-10-20 09:48:26 +02:00
parent 210926d23a
commit 738f6a90b2
2 changed files with 7 additions and 7 deletions

View File

@ -170,7 +170,7 @@ class StockTransfer extends CommonObject
* If name matches '@ClassNAme:FilePathClass;ParentFkFieldName' it will
* call method deleteByParentField(parentId, ParentFkFieldName) to fetch and delete child object
*/
//protected $childtablesoncascade = array('stocktransfer_stocktransferdet');
protected $childtablesoncascade = array('stocktransfer_stocktransferline');
/**
* @var StockTransferLine[] Array of subtable lines
@ -487,12 +487,11 @@ class StockTransfer extends CommonObject
*/
public function delete(User $user, $notrigger = false)
{
if (empty($this->lines)) $this->fetchLines();
if (!empty($this->lines)) {
foreach ($this->lines as $l) $res = $this->deleteLine($user, $l->id);
if($this->status > self::STATUS_VALIDATED) {
return 0;
} else {
return $this->deleteCommon($user, $notrigger);
}
return $this->deleteCommon($user, $notrigger);
//return $this->deleteCommon($user, $notrigger, 1);
}
/**

View File

@ -117,6 +117,7 @@ include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be includ
$permissiontoread = $user->rights->stocktransfer->stocktransfer->read;
$permissiontoadd = $user->rights->stocktransfer->stocktransfer->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php
$permissionnote = $user->rights->stocktransfer->stocktransfer->write; // Used by the include of actions_setnotes.inc.php
$permissiontodelete = $user->rights->stocktransfer->stocktransfer->delete || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT);
$permissiondellink = $user->rights->stocktransfer->stocktransfer->write; // Used by the include of actions_dellink.inc.php
$upload_dir = $conf->stocktransfer->multidir_output[isset($object->entity) ? $object->entity : 1];
@ -157,7 +158,7 @@ if (empty($reshook)) {
// Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen
include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php';
// On met cette permission ici car nécessaire d'avoir le dernier statut de l'objet après toute action exécutée dessus
// On remet cette lecture de permission ici car nécessaire d'avoir le nouveau statut de l'objet après toute action exécutée dessus (après incrémentation par exemple, le bouton supprimer doit disparaître)
$permissiontodelete = $user->rights->stocktransfer->stocktransfer->delete || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT);
// Actions when linking object each other