diff --git a/workflow/engine/methods/cases/cases_Ajax.php b/workflow/engine/methods/cases/cases_Ajax.php index 390dfbc84..229c961c3 100755 --- a/workflow/engine/methods/cases/cases_Ajax.php +++ b/workflow/engine/methods/cases/cases_Ajax.php @@ -967,6 +967,29 @@ switch(($_POST['action'])?$_POST['action']:$_REQUEST['action']) { echo $json->encode($aTypesID); } break; + case "previusJump": + require_once 'classes/model/Application.php'; + + $oCriteria = new Criteria('workflow'); + $response = array( "success" => true ); + + + $oCriteria->add(ApplicationPeer::APP_NUMBER, $_POST['appNumber']); + $oDataset = ApplicationPeer::doSelectRS($oCriteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + $aApplication = $oDataset->getRow(); + + if (is_array($aApplication)) { + $response['exists'] = true; + } else { + $response['exists'] = false; + } + + echo G::json_encode($response); + break; + + default: echo 'default'; diff --git a/workflow/engine/templates/cases/casesList.js b/workflow/engine/templates/cases/casesList.js index 97f07f934..e84b15fff 100644 --- a/workflow/engine/templates/cases/casesList.js +++ b/workflow/engine/templates/cases/casesList.js @@ -101,10 +101,28 @@ function openCase(){ } function jumpToCase(appNumber){ - params = 'APP_NUMBER=' + appNumber; - params += '&action=jump'; - requestFile = '../cases/open'; - redirect(requestFile + '?' + params); + + // Code add by Brayan Pereyra - cochalo + // This ajax validate the appNumber exists + Ext.MessageBox.show({ msg: _('ID_PROCESSING'), wait:true,waitConfig: {interval:200} }); + Ext.Ajax.request({ + url: 'cases_Ajax', + success: function(response) { + var res = Ext.decode(response.responseText); + if (res.exists === true) { + params = 'APP_NUMBER=' + appNumber; + params += '&action=jump'; + requestFile = '../cases/open'; + redirect(requestFile + '?' + params); + } else { + Ext.MessageBox.hide(); + var message = new Array(); + message['CASE_NUMBER'] = appNumber; + msgBox(_('ID_INPUT_ERROR'), _('ID_CASE_DOES_NOT_EXIST_JS', appNumber), 'error'); + } + }, + params: {action:'previusJump', appNumber: appNumber} + }); } function deleteCase() {