diff --git a/workflow/engine/content/translations/english/processmaker.en.po b/workflow/engine/content/translations/english/processmaker.en.po index 5bfde86a1..775a07bcb 100644 --- a/workflow/engine/content/translations/english/processmaker.en.po +++ b/workflow/engine/content/translations/english/processmaker.en.po @@ -2107,6 +2107,12 @@ msgstr "in" msgid "This case does not exist" msgstr "This case does not exist" +# TRANSLATION +# LABEL/ID_APPLICATION_OR_INDEX_MISSING +#: LABEL/ID_APPLICATION_OR_INDEX_MISSING +msgid "Application ID or Delegation Index is missing!. The System can not open the case." +msgstr "Application ID or Delegation Index is missing!. The System can not open the case." + # TRANSLATION # LABEL/ID_PLEASE_SELECT_UPGRADE_FILE #: LABEL/ID_PLEASE_SELECT_UPGRADE_FILE diff --git a/workflow/engine/data/mysql/insert.sql b/workflow/engine/data/mysql/insert.sql index 968b25263..43d8e21e7 100644 --- a/workflow/engine/data/mysql/insert.sql +++ b/workflow/engine/data/mysql/insert.sql @@ -1792,6 +1792,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE ( 'LABEL','ID_CASE_IS_CURRENTLY_WITH_ANOTHER_USER','en','The case is currently opened by another user','2014-01-15') , ( 'LABEL','ID_IN','en','in','2014-01-15') , ( 'LABEL','ID_CASE_DOES_NOT_EXISTS','en','This case does not exist','2014-01-15') , +( 'LABEL','ID_APPLICATION_OR_INDEX_MISSING','en','Application ID or Delegation Index is missing!. The System can not open the case.','2017-03-30') , ( 'LABEL','ID_PLEASE_SELECT_UPGRADE_FILE','en','Please select the upgrade file','2014-01-15') , ( 'LABEL','ID_PLEASE_SELECT_MAX_X_FIELDS','en','Please select 80 fields at most','2014-01-15') , ( 'LABEL','ID_UPGRADE_READY','en','System upgraded from revision','2014-01-15') , diff --git a/workflow/engine/methods/cases/open.php b/workflow/engine/methods/cases/open.php index 07f4d0219..fe6ea043c 100644 --- a/workflow/engine/methods/cases/open.php +++ b/workflow/engine/methods/cases/open.php @@ -34,25 +34,34 @@ if(isset( $_GET['gmail']) && $_GET['gmail'] == 1){ $tBarGmail = true; } -if (! isset( $_GET['APP_UID'] ) || ! isset( $_GET['DEL_INDEX'] )) { - if (isset( $_GET['APP_NUMBER'] )) { - G::LoadClass( 'case' ); - $oCase = new Cases(); - $appUid = $oCase->getApplicationUIDByNumber( htmlspecialchars($_GET['APP_NUMBER']) ); - $delIndex = $oCase->getCurrentDelegation( $appUid, $_SESSION['USER_LOGGED'] ); - if (is_null( $appUid )) { - throw new Exception( G::LoadTranslation( 'ID_CASE_DOES_NOT_EXISTS' ) ); - } - if (is_null( $delIndex )) { - throw new Exception( G::LoadTranslation( 'ID_CASE_IS_CURRENTLY_WITH_ANOTHER_USER' ) ); - } - } else { - throw new Exception( "Application ID or Delegation Index is missing!. The System can't open the case." ); +//Check if we have the information for open the case +if (!isset($_GET['APP_UID']) && !isset($_GET['APP_NUMBER']) && !isset($_GET['DEL_INDEX'])) { + throw new Exception(G::LoadTranslation('ID_APPLICATION_OR_INDEX_MISSING')); +} +//Get the APP_UID related to APP_NUMBER +if (!isset($_GET['APP_UID']) && isset($_GET['APP_NUMBER'])) { + G::LoadClass('case'); + $oCase = new Cases(); + $appUid = $oCase->getApplicationUIDByNumber(htmlspecialchars($_GET['APP_NUMBER'])); + if (is_null( $appUid )) { + throw new Exception(G::LoadTranslation('ID_CASE_DOES_NOT_EXISTS')); } } else { $appUid = htmlspecialchars($_GET['APP_UID']); +} +//If we don't have the DEL_INDEX we get the current delIndex. Data reporting tool does not have this information +if (!isset($_GET['DEL_INDEX'])) { + G::LoadClass('case'); + $oCase = new Cases(); + $delIndex = $oCase->getCurrentDelegation($appUid, $_SESSION['USER_LOGGED']); + if (is_null( $delIndex )) { + throw new Exception(G::LoadTranslation('ID_CASE_IS_CURRENTLY_WITH_ANOTHER_USER')); + } + $_GET['DEL_INDEX'] = $delIndex; +} else { $delIndex = htmlspecialchars($_GET['DEL_INDEX']); } + $tasUid = (isset($_GET['TAS_UID'])) ? $tasUid = htmlspecialchars($_GET['TAS_UID']) : ''; require_once ("classes/model/Step.php");