From 1c110c8598c69e5e1a93a109c2ab6e0224d49fe3 Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Wed, 10 Oct 2012 11:30:32 -0400 Subject: [PATCH] BUG 6947 I add validation to delete inputs with permission I add validation to delete inputs with permission --- workflow/engine/classes/class.case.php | 17 +++++++++---- workflow/engine/methods/cases/cases_Step.php | 7 ------ .../cases/paged-table-inputDocuments.html | 24 ------------------- 3 files changed, 12 insertions(+), 36 deletions(-) diff --git a/workflow/engine/classes/class.case.php b/workflow/engine/classes/class.case.php index 406d1e863..b3388602c 100755 --- a/workflow/engine/classes/class.case.php +++ b/workflow/engine/classes/class.case.php @@ -3277,6 +3277,12 @@ class Cases */ public function getInputDocumentsCriteria($sApplicationUID, $iDelegation, $sDocumentUID, $sAppDocuUID = '') { + $deletePermission = $this->getAllObjectsFrom($_SESSION['PROCESS'], + $sApplicationUID, + $_SESSION['TASK'], + $_SESSION['USER_LOGGED'], + $ACTION = 'DELETE'); + try { $listing = false; $oPluginRegistry = & PMPluginRegistry::getSingleton(); @@ -3325,6 +3331,7 @@ class Cases 'APP_DOC_FILENAME' => $aAux['APP_DOC_FILENAME'], 'APP_DOC_INDEX' => $aAux['APP_DOC_INDEX'] ); + if ($aFields['APP_DOC_FILENAME'] != '') { $aFields['TITLE'] = $aFields['APP_DOC_FILENAME']; } else { @@ -3333,11 +3340,11 @@ class Cases $aFields['POSITION'] = isset($_SESSION['STEP_POSITION']) ? $_SESSION['STEP_POSITION'] : 1; $aFields['CONFIRM'] = G::LoadTranslation('ID_CONFIRM_DELETE_INPUT_AND_HISTORY'); - //if (in_array($aRow['APP_DOC_UID'], $aDelete['INPUT_DOCUMENTS'])) { - // $aFields['ID_DELETE'] = G::LoadTranslation('ID_DELETE'); - //} - $aFields['ID_DELETE'] = G::LoadTranslation('ID_DELETE'); - + $aFields['ID_DELETE'] = ''; + if (in_array($aRow['APP_DOC_UID'], $deletePermission['INPUT_DOCUMENTS'])) { + $aFields['ID_DELETE'] = G::LoadTranslation('ID_DELETE'); + } + $aFields['REPLACE_LABEL'] = ""; if (($aRow['DOC_VERSION'] == $lastVersion) || ($sAppDocuUID != "")) { $aFields['REPLACE_LABEL'] = G::LoadTranslation('ID_REPLACE'); diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index 6ccd86aa4..9967c0e22 100755 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -274,13 +274,6 @@ $oPluginRegistry->executeTriggers ( PM_UPLOAD_DOCUMENT_BEFORE , array('USR_UID'=>$_SESSION['USER_LOGGED']) ); } //END: If there is a Break Step registered from Plugin - $deletePermission = $oCase->getAllObjectsFrom($_SESSION['PROCESS'], - $_SESSION['APPLICATION'], - $_SESSION['TASK'], - $_SESSION['USER_LOGGED'], - $ACTION = 'DELETE'); - $permissionsInput = implode(',',$deletePermission['INPUT_DOCUMENTS']); - $Fields['permissionsInput'] = $permissionsInput; $G_PUBLISH->AddContent('propeltable', 'cases/paged-table-inputDocuments', 'cases/cases_InputdocsList', $oCase->getInputDocumentsCriteria($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_GET['UID']), array_merge(array('DOC_UID'=>$_GET['UID']),$Fields));//$aFields //call plugin diff --git a/workflow/engine/templates/cases/paged-table-inputDocuments.html b/workflow/engine/templates/cases/paged-table-inputDocuments.html index 5720ce3f1..cb2933d19 100755 --- a/workflow/engine/templates/cases/paged-table-inputDocuments.html +++ b/workflow/engine/templates/cases/paged-table-inputDocuments.html @@ -1,5 +1,4 @@ -
@@ -182,28 +181,5 @@ function toggleMasterDetailGroup(tablename,groupName,imgicon){ } } document.getElementById('mainlabel').innerHTML = documentName; -var inputIds = document.getElementById('permissionsInput').value.split(','); -var hiddenA = new Array(); -var elementsA = document.getElementsByTagName('a'); - -for (i=0; i