FIX deletion of direct debit or credit transfer
This commit is contained in:
parent
ecf98530bb
commit
6b9636c3b8
@ -67,6 +67,7 @@ include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be includ
|
|||||||
$hookmanager->initHooks(array('directdebitprevcard', 'globalcard', 'directdebitprevlist'));
|
$hookmanager->initHooks(array('directdebitprevcard', 'globalcard', 'directdebitprevlist'));
|
||||||
|
|
||||||
$type = $object->type;
|
$type = $object->type;
|
||||||
|
|
||||||
if ($type == 'bank-transfer') {
|
if ($type == 'bank-transfer') {
|
||||||
$result = restrictedArea($user, 'paymentbybanktransfer', '', '', '');
|
$result = restrictedArea($user, 'paymentbybanktransfer', '', '', '');
|
||||||
} else {
|
} else {
|
||||||
@ -86,9 +87,10 @@ if ($reshook < 0) {
|
|||||||
|
|
||||||
if (empty($reshook)) {
|
if (empty($reshook)) {
|
||||||
if ($action == 'confirm_delete') {
|
if ($action == 'confirm_delete') {
|
||||||
|
$savtype = $object->type;
|
||||||
$res = $object->delete($user);
|
$res = $object->delete($user);
|
||||||
if ($res > 0) {
|
if ($res > 0) {
|
||||||
if ($object->type == 'bank-transfer') {
|
if ($savtype == 'bank-transfer') {
|
||||||
header("Location: ".DOL_URL_ROOT.'/compta/paymentbybanktransfer/index.php');
|
header("Location: ".DOL_URL_ROOT.'/compta/paymentbybanktransfer/index.php');
|
||||||
} else {
|
} else {
|
||||||
header("Location: ".DOL_URL_ROOT.'/compta/prelevement/index.php');
|
header("Location: ".DOL_URL_ROOT.'/compta/prelevement/index.php');
|
||||||
|
|||||||
@ -566,6 +566,14 @@ function restrictedArea($user, $features, $objectid = 0, $tableandshare = '', $f
|
|||||||
if (empty($user->rights->adherent->supprimer)) {
|
if (empty($user->rights->adherent->supprimer)) {
|
||||||
$deleteok = 0;
|
$deleteok = 0;
|
||||||
}
|
}
|
||||||
|
} elseif ($feature == 'paymentbybanktransfer') {
|
||||||
|
if (empty($user->rights->paymentbybanktransfer->create)) { // There is no delete permission
|
||||||
|
$deleteok = 0;
|
||||||
|
}
|
||||||
|
} elseif ($feature == 'prelevement') {
|
||||||
|
if (empty($user->rights->prelevement->bons->creer)) { // There is no delete permission
|
||||||
|
$deleteok = 0;
|
||||||
|
}
|
||||||
} elseif (!empty($feature2)) { // This is for permissions on 2 levels
|
} elseif (!empty($feature2)) { // This is for permissions on 2 levels
|
||||||
foreach ($feature2 as $subfeature) {
|
foreach ($feature2 as $subfeature) {
|
||||||
if (empty($user->rights->$feature->$subfeature->supprimer) && empty($user->rights->$feature->$subfeature->delete)) {
|
if (empty($user->rights->$feature->$subfeature->supprimer) && empty($user->rights->$feature->$subfeature->delete)) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user