diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 3d517a5d5..51837f16f 100644 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -5897,6 +5897,7 @@ class Cases $proUid, $opTaskSource, 'OUTPUT', + $opObjUid, $aCase['APP_STATUS'] ); //For Inputs @@ -5905,6 +5906,7 @@ class Cases $proUid, $opTaskSource, 'INPUT', + $opObjUid, $aCase['APP_STATUS'] ); @@ -5939,6 +5941,7 @@ class Cases $proUid, $opTaskSource, 'INPUT', + $opObjUid, $aCase['APP_STATUS'] ); break; @@ -5948,6 +5951,7 @@ class Cases $proUid, $opTaskSource, 'OUTPUT', + $opObjUid, $aCase['APP_STATUS'] ); break; diff --git a/workflow/engine/classes/model/ObjectPermission.php b/workflow/engine/classes/model/ObjectPermission.php index 766f28133..1319e6456 100644 --- a/workflow/engine/classes/model/ObjectPermission.php +++ b/workflow/engine/classes/model/ObjectPermission.php @@ -359,11 +359,12 @@ class ObjectPermission extends BaseObjectPermission * @param string $proUid the uid of the process * @param string $opTaskSource the uid of a task selected in origin task * @param string $obType can be INPUT or OUTPUT + * @param string $opObjUid uid of object [specific input or specific ouput] * @param string $statusCase the status of the case COMPLETED, TO_DO * * @return array with the uid of input or outputs */ - public function objectPermissionByOutputInput ($appUid, $proUid, $opTaskSource, $obType = 'OUTPUT', $statusCase = '') + public function objectPermissionByOutputInput ($appUid, $proUid, $opTaskSource, $obType = 'OUTPUT', $opObjUid = '', $statusCase = '') { $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(AppDocumentPeer::APP_DOC_UID); @@ -378,6 +379,9 @@ class ObjectPermission extends BaseObjectPermission if ($statusCase != 'COMPLETED' && $opTaskSource != '' && (int)$opTaskSource != 0) { $oCriteria->add(AppDelegationPeer::TAS_UID, $opTaskSource); } + if ($opObjUid != '' && $opObjUid != '0') { + $oCriteria->add(AppDocumentPeer::DOC_UID, $opObjUid); + } switch ($obType) { case 'INPUT': $oCriteria->add(