diff --git a/workflow/engine/src/BusinessModel/ProcessPermissions.php b/workflow/engine/src/BusinessModel/ProcessPermissions.php index 51b0db8f3..585a2f264 100644 --- a/workflow/engine/src/BusinessModel/ProcessPermissions.php +++ b/workflow/engine/src/BusinessModel/ProcessPermissions.php @@ -232,15 +232,21 @@ class ProcessPermissions $sObjectUID = ''; break; case 'DYNAFORM': - $this->validateDynUid($data['DYNAFORMS']); + if ($data['DYNAFORMS'] != '') { + $this->validateDynUid($data['DYNAFORMS']); + } $sObjectUID = $data['DYNAFORMS']; break; case 'INPUT': - $this->validateInpUid($data['INPUTS']); + if ($data['INPUTS'] != '') { + $this->validateInpUid($data['INPUTS']); + } $sObjectUID = $data['INPUTS']; break; case 'OUTPUT': - $this->validateOutUid($data['OUTPUTS']); + if ($data['OUTPUTS'] != '') { + $this->validateOutUid($data['OUTPUTS']); + } $sObjectUID = $data['OUTPUTS']; break; } diff --git a/workflow/engine/src/BusinessModel/Trigger.php b/workflow/engine/src/BusinessModel/Trigger.php index efad0441e..5ae6bcdac 100644 --- a/workflow/engine/src/BusinessModel/Trigger.php +++ b/workflow/engine/src/BusinessModel/Trigger.php @@ -120,7 +120,27 @@ class Trigger public function deleteTrigger($sTriggerUID = '') { $oTrigger = new \Triggers(); - $triggerObj = $oTrigger->load( $sTriggerUID ); + $oTrigger->load( $sTriggerUID ); + $res = $oTrigger->verifyDependecies($sTriggerUID); + $messageEnd = ''; + if ($res->code != 0) { + foreach ($res->dependencies as $Object => $aDeps) { + $nDeps = count( $aDeps ); + $message = str_replace( '{N}', $nDeps, \G::LoadTranslation( 'ID_TRIGGERS_VALIDATION_ERR2' ) ); + $message = str_replace( '{Object}', $Object, $message ); + $messageEnd .= $message . "\n"; + foreach ($aDeps as $dep) { + if (substr( $Object, - 1 ) == 's') { + $Object = substr( $Object, 0, strlen( $Object ) - 1 ); + } + $message = str_replace( '{Object}', $Object, \G::LoadTranslation( 'ID_TRIGGERS_VALIDATION_ERR3' ) ); + $message = str_replace( '{Description}', '"' . $dep['DESCRIPTION'] . '"', $message ); + $messageEnd .= $message . "\n"; + } + $messageEnd .= "\n"; + } + throw new \Exception($messageEnd); + } $oTrigger->remove( $sTriggerUID ); $oStepTrigger = new \StepTrigger();