BUG 8669 "External Link when you open a case" SOLVED

- with the new cases list based on extjs, that funcionality was changed
- to solve this you can pass two parameters (id, i) on cases/main script via a url is

sample:
  old:
    http://127.0.0.1/sysworkflow/en/classic/cases/cases_Open?APP_UID=9651244824f57c29799c545080806236&DEL_INDEX=2&action=todo
  new:
    http://127.0.0.1/sysworkflow/en/classic/cases/main?id=9651244824f57c29799c545080806236&i=2

  where, two parameters is used id and i,
  id = APP_UID
  i = DEL_INDEX
This commit is contained in:
Erik Amaru Ortiz
2012-03-07 18:12:01 -04:00
parent 2be05d382d
commit a652e2f683
4 changed files with 22 additions and 10 deletions

View File

@@ -28,6 +28,8 @@ $RBAC->requirePermissions('PM_CASES');
$G_MAIN_MENU = 'processmaker';
$G_ID_MENU_SELECTED = 'CASES';
$_POST['qs'] = isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != '' ? '?' . $_SERVER['QUERY_STRING'] : '';
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent('view', 'cases/cases_Load');
G::RenderPage('publish');

View File

@@ -49,6 +49,10 @@
$defaultOption = 'casesListExtJs';
$confDefaultOption = 'CASES_INBOX';
}
if (isset($_GET['id'])) {
$defaultOption = '../cases/open?APP_UID='.$_GET['id'].'&DEL_INDEX='.$_GET['i']; //.'&action=todo';
}
$oHeadPublisher->assign( 'defaultOption', $defaultOption); // user menu permissions
$oHeadPublisher->assign( '_nodeId', isset($confDefaultOption)?$confDefaultOption:'PM_USERS'); // user menu permissions

View File

@@ -8,7 +8,7 @@
}
</style>
<body onresize="autoResizeScreen()" onload="autoResizeScreen()">
<iframe name="casesFrame" id="casesFrame" src ="../cases/main_init" width="99%" height="768" frameborder="0">
<iframe name="casesFrame" id="casesFrame" src ="../cases/main_init<?php echo $_POST['qs'];?>" width="99%" height="768" frameborder="0">
<p>Your browser does not support iframes.</p>
</iframe>
</body>

View File

@@ -235,18 +235,24 @@ Ext.onReady(function(){
var loader = treeMenuItems.getLoader();
loader.on("load", function(){
document.getElementById('casesSubFrame').src = defaultOption;
// check if a case was open directly
if (defaultOption.indexOf('open') > -1) {
//if it is, then update cases tree
updateCasesTree();
}
if( _nodeId != '' ){
treePanel1 = Ext.getCmp('tree-panel')
if(treePanel1)
node = treePanel1.getNodeById(_nodeId);
if(node) {
node.select();
if (_nodeId == 'CASES_START_CASE') {
updateCasesTree();
}
if( _nodeId != '' ){
treePanel1 = Ext.getCmp('tree-panel')
if(treePanel1)
node = treePanel1.getNodeById(_nodeId);
if(node) {
node.select();
if (_nodeId == 'CASES_START_CASE') {
updateCasesTree();
}
}
}
});