From 44c81b32b13c261d8e8f48de879fc5b40579330c Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Thu, 26 Oct 2017 12:30:58 -0400 Subject: [PATCH 1/3] HOR-3916 --- workflow/engine/classes/Cases.php | 67 ++++++++++++++++++++----------- 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/workflow/engine/classes/Cases.php b/workflow/engine/classes/Cases.php index 9eccb3e89..4d3307f69 100644 --- a/workflow/engine/classes/Cases.php +++ b/workflow/engine/classes/Cases.php @@ -5738,7 +5738,7 @@ class Cases "MSGS_HISTORY" => array() /*----------------------------------********---------------------------------*/ , "SUMMARY_FORM" => 0 - /*----------------------------------********---------------------------------*/ + /*----------------------------------********---------------------------------*/ ); $oObjectPermission = new ObjectPermission(); @@ -5746,6 +5746,14 @@ class Cases $groupPermissions = $oObjectPermission->verifyObjectPermissionPerGroup($usrUid, $proUid, $tasUid, $action, $caseData); $permissions = array_merge($userPermissions, $groupPermissions); + $resultDynaforms = []; + $resultInputs = []; + $resultAttachments = []; + $resultOutputs = []; + $resultCaseNotes = []; + $resultSummary = []; + $resultMessages = []; + foreach ($permissions as $row) { $userUid = $row['USR_UID']; $opUserRelation = $row['OP_USER_RELATION']; @@ -5779,14 +5787,16 @@ class Cases switch ($opType) { case 'ANY': //For dynaforms - $result['DYNAFORM'] = $oObjectPermission->objectPermissionByDynaform( + $listDynaform = $oObjectPermission->objectPermissionByDynaform( $appUid, $opTaskSource, $opObjUid, $caseData['APP_STATUS'] ); + $resultDynaforms = array_merge($resultDynaforms, $listDynaform); + //For Ouputs - $result['OUTPUT'] = $oObjectPermission->objectPermissionByOutputInput( + $listOutput = $oObjectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5794,8 +5804,10 @@ class Cases $opObjUid, $caseData['APP_STATUS'] ); + $resultOutputs = array_merge($resultOutputs, $listOutput); + //For Inputs - $result['INPUT'] = $oObjectPermission->objectPermissionByOutputInput( + $listInput = $oObjectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5803,8 +5815,10 @@ class Cases $opObjUid, $caseData['APP_STATUS'] ); + $resultInputs = array_merge($resultInputs, $listInput); + //For Attachment - $result['ATTACHMENT'] = $oObjectPermission->objectPermissionByOutputInput( + $listAttchment = $oObjectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5812,14 +5826,15 @@ class Cases $opObjUid, $caseData['APP_STATUS'] ); + $resultAttachments = array_merge($resultAttachments, $listAttchment); - $result['CASES_NOTES'] = 1; + $resultCaseNotes = 1; /*----------------------------------********---------------------------------*/ - $result['SUMMARY_FORM'] = 1; + $resultSummary = 1; /*----------------------------------********---------------------------------*/ //Message History - $result['MSGS_HISTORY'] = $oObjectPermission->objectPermissionMessage( + $listMessage = $oObjectPermission->objectPermissionMessage( $appUid, $proUid, $userUid, @@ -5829,17 +5844,19 @@ class Cases $caseData['APP_STATUS'], $opParticipated ); + $resultMessages = array_merge($resultMessages, $listMessage); break; case 'DYNAFORM': - $result['DYNAFORM'] = $oObjectPermission->objectPermissionByDynaform( + $listDynaform = $oObjectPermission->objectPermissionByDynaform( $appUid, $opTaskSource, $opObjUid, $caseData['APP_STATUS'] ); + $resultDynaforms = array_merge($resultDynaforms, $listDynaform); break; case 'INPUT': - $result['INPUT'] = $oObjectPermission->objectPermissionByOutputInput( + $listInput= $oObjectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5847,9 +5864,10 @@ class Cases $opObjUid, $caseData['APP_STATUS'] ); + $resultInputs = array_merge($resultInputs, $listInput); break; case 'ATTACHMENT': - $result['ATTACHMENT'] = $oObjectPermission->objectPermissionByOutputInput( + $listAttchment= $oObjectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5857,9 +5875,10 @@ class Cases $opObjUid, $caseData['APP_STATUS'] ); + $resultAttachments = array_merge($resultAttachments, $listAttchment); break; case 'OUTPUT': - $result['OUTPUT'] = $oObjectPermission->objectPermissionByOutputInput( + $listOutput = $oObjectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5867,17 +5886,18 @@ class Cases $opObjUid, $caseData['APP_STATUS'] ); + $resultOutputs = array_merge($resultOutputs, $listOutput); break; case 'CASES_NOTES': - $result['CASES_NOTES'] = 1; + $resultCaseNotes = 1; break; /*----------------------------------********---------------------------------*/ case 'SUMMARY_FORM': - $result['SUMMARY_FORM'] = 1; + $resultSummary = 1; break; /*----------------------------------********---------------------------------*/ case 'MSGS_HISTORY': - $result['MSGS_HISTORY'] = $oObjectPermission->objectPermissionMessage( + $listMessage = $oObjectPermission->objectPermissionMessage( $appUid, $proUid, $userUid, @@ -5887,21 +5907,22 @@ class Cases $caseData['APP_STATUS'], $opParticipated ); + $resultMessages = array_merge($resultMessages, $listMessage); break; } } } return array( - "DYNAFORMS" => $result['DYNAFORM'], - "INPUT_DOCUMENTS" => $result['INPUT'], - "ATTACHMENTS" => $result['ATTACHMENT'], - "OUTPUT_DOCUMENTS" => $result['OUTPUT'], - "CASES_NOTES" => $result['CASES_NOTES'], - "MSGS_HISTORY" => $result['MSGS_HISTORY'] + "DYNAFORMS" => $resultDynaforms, + "INPUT_DOCUMENTS" => $resultInputs, + "ATTACHMENTS" => $resultAttachments, + "OUTPUT_DOCUMENTS" => $resultOutputs, + "CASES_NOTES" => $resultCaseNotes, + "MSGS_HISTORY" => $resultMessages + /*----------------------------------********---------------------------------*/ + , "SUMMARY_FORM" => $resultSummary /*----------------------------------********---------------------------------*/ - , "SUMMARY_FORM" => $result['SUMMARY_FORM'] - /*----------------------------------********---------------------------------*/ ); } From de7a0190d23285d87283fb1e4ebe81d3e679ac1d Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Thu, 26 Oct 2017 13:44:16 -0400 Subject: [PATCH 2/3] Code Style --- workflow/engine/classes/Cases.php | 127 +++++++++++++++--------------- 1 file changed, 62 insertions(+), 65 deletions(-) diff --git a/workflow/engine/classes/Cases.php b/workflow/engine/classes/Cases.php index 4d3307f69..f4d86e6c4 100644 --- a/workflow/engine/classes/Cases.php +++ b/workflow/engine/classes/Cases.php @@ -5664,48 +5664,55 @@ class Cases /** * Obtain all user permits for Dynaforms, Input and output documents + * function getAllObjects ($proUid, $appUid, $tasUid, $usrUid) * - * function getAllObjects ($PRO_UID, $APP_UID, $TAS_UID, $USR_UID) - * @author Erik Amaru Ortiz * @access public - * @param Process ID, Application ID, Task ID and User ID - * @return Array within all user permitions all objects' types + * @param string $proUid, Process ID + * @param string $appUid, Application ID, + * @param string $tasUid, Task ID + * @param string $usrUid, User ID + * @param integer $delIndex, User ID + * + * @return array within all user permissions all objects' types */ - public function getAllObjects($PRO_UID, $APP_UID, $TAS_UID = '', $USR_UID = '', $delIndex = 0) + public function getAllObjects($proUid, $appUid, $tasUid = '', $usrUid = '', $delIndex = 0) { - $ACTIONS = array('VIEW', 'BLOCK', 'DELETE'); //TO COMPLETE - $MAIN_OBJECTS = array(); - $RESULT_OBJECTS = array(); + $permissionAction = ['VIEW', 'BLOCK', 'DELETE']; //TO COMPLETE + $mainObjects = []; + $resultObjects = []; - foreach ($ACTIONS as $action) { - $MAIN_OBJECTS[$action] = $this->getAllObjectsFrom($PRO_UID, $APP_UID, $TAS_UID, $USR_UID, $action, $delIndex); + foreach ($permissionAction as $action) { + $mainObjects[$action] = $this->getAllObjectsFrom($proUid, $appUid, $tasUid, $usrUid, $action, $delIndex); } - /* ADDITIONAL OPERATIONS */ - /* * * BETWEN VIEW AND BLOCK** */ - $RESULT_OBJECTS['DYNAFORMS'] = G::arrayDiff( - $MAIN_OBJECTS['VIEW']['DYNAFORMS'], $MAIN_OBJECTS['BLOCK']['DYNAFORMS'] + //We will review data with VIEW and BLOCK + //Dynaforms BLOCK it means does not show in the list + $resultObjects['DYNAFORMS'] = G::arrayDiff( + $mainObjects['VIEW']['DYNAFORMS'], $mainObjects['BLOCK']['DYNAFORMS'] ); - $RESULT_OBJECTS['INPUT_DOCUMENTS'] = G::arrayDiff( - $MAIN_OBJECTS['VIEW']['INPUT_DOCUMENTS'], $MAIN_OBJECTS['BLOCK']['INPUT_DOCUMENTS'] + //Input BLOCK it means does not show in the list + $resultObjects['INPUT_DOCUMENTS'] = G::arrayDiff( + $mainObjects['VIEW']['INPUT_DOCUMENTS'], $mainObjects['BLOCK']['INPUT_DOCUMENTS'] ); - $RESULT_OBJECTS['OUTPUT_DOCUMENTS'] = array_merge_recursive( - G::arrayDiff($MAIN_OBJECTS['VIEW']['OUTPUT_DOCUMENTS'], $MAIN_OBJECTS['BLOCK']['OUTPUT_DOCUMENTS']), G::arrayDiff($MAIN_OBJECTS['DELETE']['OUTPUT_DOCUMENTS'], $MAIN_OBJECTS['BLOCK']['OUTPUT_DOCUMENTS']) + //Output BLOCK it means does not show in the list + $resultObjects['OUTPUT_DOCUMENTS'] = array_merge_recursive( + G::arrayDiff($mainObjects['VIEW']['OUTPUT_DOCUMENTS'], $mainObjects['BLOCK']['OUTPUT_DOCUMENTS']), G::arrayDiff($mainObjects['DELETE']['OUTPUT_DOCUMENTS'], $mainObjects['BLOCK']['OUTPUT_DOCUMENTS']) ); - $RESULT_OBJECTS['CASES_NOTES'] = G::arrayDiff( - $MAIN_OBJECTS['VIEW']['CASES_NOTES'], $MAIN_OBJECTS['BLOCK']['CASES_NOTES'] + //Case notes BLOCK it means does not show in the list + $resultObjects['CASES_NOTES'] = G::arrayDiff( + $mainObjects['VIEW']['CASES_NOTES'], $mainObjects['BLOCK']['CASES_NOTES'] ); - array_push($RESULT_OBJECTS["DYNAFORMS"], -1, -2); - array_push($RESULT_OBJECTS['INPUT_DOCUMENTS'], -1); - array_push($RESULT_OBJECTS['OUTPUT_DOCUMENTS'], -1); - array_push($RESULT_OBJECTS['CASES_NOTES'], -1); + array_push($resultObjects["DYNAFORMS"], -1, -2); + array_push($resultObjects['INPUT_DOCUMENTS'], -1); + array_push($resultObjects['OUTPUT_DOCUMENTS'], -1); + array_push($resultObjects['CASES_NOTES'], -1); - return $RESULT_OBJECTS; + return $resultObjects; } /** * Obtain all object permissions for Dynaforms, Input, Output and Message history - * * This function return information about a specific object permissions or for all = ANY + * * @access public * @param string $proUid * @param string $appUid @@ -5713,6 +5720,7 @@ class Cases * @param string $usrUid * @param string $action some action [VIEW, BLOCK, RESEND] * @param integer $delIndex + * * @return array within all user permissions all objects' types */ public function getAllObjectsFrom($proUid, $appUid, $tasUid = '', $usrUid = '', $action = '', $delIndex = 0) @@ -5727,31 +5735,20 @@ class Cases } } - $userPermissions = array(); - $groupPermissions = array(); - $result = array( - "DYNAFORM" => array(), - "INPUT" => array(), - "ATTACHMENT" => array(), - "OUTPUT" => array(), - "CASES_NOTES" => 0, - "MSGS_HISTORY" => array() - /*----------------------------------********---------------------------------*/ - , "SUMMARY_FORM" => 0 - /*----------------------------------********---------------------------------*/ - ); + $userPermissions = []; + $groupPermissions = []; - $oObjectPermission = new ObjectPermission(); - $userPermissions = $oObjectPermission->verifyObjectPermissionPerUser($usrUid, $proUid, $tasUid, $action, $caseData); - $groupPermissions = $oObjectPermission->verifyObjectPermissionPerGroup($usrUid, $proUid, $tasUid, $action, $caseData); + $objectPermission = new ObjectPermission(); + $userPermissions = $objectPermission->verifyObjectPermissionPerUser($usrUid, $proUid, $tasUid, $action, $caseData); + $groupPermissions = $objectPermission->verifyObjectPermissionPerGroup($usrUid, $proUid, $tasUid, $action, $caseData); $permissions = array_merge($userPermissions, $groupPermissions); $resultDynaforms = []; $resultInputs = []; $resultAttachments = []; $resultOutputs = []; - $resultCaseNotes = []; - $resultSummary = []; + $resultCaseNotes = 0; + $resultSummary = 0; $resultMessages = []; foreach ($permissions as $row) { @@ -5766,28 +5763,28 @@ class Cases //The values of obCaseStatus is [ALL, COMPLETED, DRAFT, TO_DO, PAUSED] //If the case is todo and we need the participate //but we did not participated did not validate nothing and return array empty - $sw_participate = false; // must be false for default + $swParticipate = false; // must be false for default if ($obCaseStatus != 'COMPLETED' && $opParticipated == 1) { - $oCriteriax = new Criteria('workflow'); - $oCriteriax->add(AppDelegationPeer::USR_UID, $usrUid); - $oCriteriax->add(AppDelegationPeer::APP_UID, $appUid); - $datasetx = AppDelegationPeer::doSelectRS($oCriteriax); - $datasetx->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $datasetx->next(); - $aRow = $datasetx->getRow(); - if (!is_array($aRow)) { + $criteria = new Criteria('workflow'); + $criteria->add(AppDelegationPeer::USR_UID, $usrUid); + $criteria->add(AppDelegationPeer::APP_UID, $appUid); + $dataset = AppDelegationPeer::doSelectRS($criteria); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $dataset->next(); + $row = $dataset->getRow(); + if (!is_array($row)) { //The user was not participated in the case and the participation is required - $sw_participate = true; + $swParticipate = true; } } //If user can be see the objects process //We will be prepare the data relate to the Type can be ANY, DYNAFORM, INPUT, OUTPUT, ... - if (!$sw_participate) { + if (!$swParticipate) { switch ($opType) { case 'ANY': //For dynaforms - $listDynaform = $oObjectPermission->objectPermissionByDynaform( + $listDynaform = $objectPermission->objectPermissionByDynaform( $appUid, $opTaskSource, $opObjUid, @@ -5796,7 +5793,7 @@ class Cases $resultDynaforms = array_merge($resultDynaforms, $listDynaform); //For Ouputs - $listOutput = $oObjectPermission->objectPermissionByOutputInput( + $listOutput = $objectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5807,7 +5804,7 @@ class Cases $resultOutputs = array_merge($resultOutputs, $listOutput); //For Inputs - $listInput = $oObjectPermission->objectPermissionByOutputInput( + $listInput = $objectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5818,7 +5815,7 @@ class Cases $resultInputs = array_merge($resultInputs, $listInput); //For Attachment - $listAttchment = $oObjectPermission->objectPermissionByOutputInput( + $listAttchment = $objectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5834,7 +5831,7 @@ class Cases /*----------------------------------********---------------------------------*/ //Message History - $listMessage = $oObjectPermission->objectPermissionMessage( + $listMessage = $objectPermission->objectPermissionMessage( $appUid, $proUid, $userUid, @@ -5847,7 +5844,7 @@ class Cases $resultMessages = array_merge($resultMessages, $listMessage); break; case 'DYNAFORM': - $listDynaform = $oObjectPermission->objectPermissionByDynaform( + $listDynaform = $objectPermission->objectPermissionByDynaform( $appUid, $opTaskSource, $opObjUid, @@ -5856,7 +5853,7 @@ class Cases $resultDynaforms = array_merge($resultDynaforms, $listDynaform); break; case 'INPUT': - $listInput= $oObjectPermission->objectPermissionByOutputInput( + $listInput = $objectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5867,7 +5864,7 @@ class Cases $resultInputs = array_merge($resultInputs, $listInput); break; case 'ATTACHMENT': - $listAttchment= $oObjectPermission->objectPermissionByOutputInput( + $listAttchment = $objectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5878,7 +5875,7 @@ class Cases $resultAttachments = array_merge($resultAttachments, $listAttchment); break; case 'OUTPUT': - $listOutput = $oObjectPermission->objectPermissionByOutputInput( + $listOutput = $objectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5897,7 +5894,7 @@ class Cases break; /*----------------------------------********---------------------------------*/ case 'MSGS_HISTORY': - $listMessage = $oObjectPermission->objectPermissionMessage( + $listMessage= $objectPermission->objectPermissionMessage( $appUid, $proUid, $userUid, From 4975028229e50c4a88b35d100e6447b3519833d6 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Fri, 27 Oct 2017 13:05:06 -0400 Subject: [PATCH 3/3] Spelling --- workflow/engine/classes/Cases.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/workflow/engine/classes/Cases.php b/workflow/engine/classes/Cases.php index f4d86e6c4..6fae23faf 100644 --- a/workflow/engine/classes/Cases.php +++ b/workflow/engine/classes/Cases.php @@ -5815,7 +5815,7 @@ class Cases $resultInputs = array_merge($resultInputs, $listInput); //For Attachment - $listAttchment = $objectPermission->objectPermissionByOutputInput( + $listAttachment = $objectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5823,7 +5823,7 @@ class Cases $opObjUid, $caseData['APP_STATUS'] ); - $resultAttachments = array_merge($resultAttachments, $listAttchment); + $resultAttachments = array_merge($resultAttachments, $listAttachment); $resultCaseNotes = 1; /*----------------------------------********---------------------------------*/ @@ -5864,7 +5864,7 @@ class Cases $resultInputs = array_merge($resultInputs, $listInput); break; case 'ATTACHMENT': - $listAttchment = $objectPermission->objectPermissionByOutputInput( + $listAttachment = $objectPermission->objectPermissionByOutputInput( $appUid, $proUid, $opTaskSource, @@ -5872,7 +5872,7 @@ class Cases $opObjUid, $caseData['APP_STATUS'] ); - $resultAttachments = array_merge($resultAttachments, $listAttchment); + $resultAttachments = array_merge($resultAttachments, $listAttachment); break; case 'OUTPUT': $listOutput = $objectPermission->objectPermissionByOutputInput(