diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index a75894031..e9425af24 100755 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -182,6 +182,8 @@ class Derivation $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); $flagDefault = false; + $aSecJoin = array(); + $count = 0; while ($rsCriteria->next()) { $arrayRouteData = G::array_merges($rsCriteria->getRow(), $arrayData); @@ -206,9 +208,14 @@ class Derivation if (trim($arrayRouteData["ROU_CONDITION"]) == "" && $arrayRouteData["ROU_NEXT_TASK"] != "-1") { $arrayTaskData = $task->load($arrayRouteData["ROU_NEXT_TASK"]); - if ($arrayRouteData["ROU_TYPE"] != "SEC-JOIN" && $arrayTaskData["TAS_TYPE"] == "GATEWAYTOGATEWAY") { - $flagAddDelegation = false; + $flagAddDelegation = true; + } + + if($arrayRouteData["ROU_TYPE"] == "SEC-JOIN"){ + $aSecJoin[$count]["ROU_PREVIOUS_TASK"] = $arrayRouteData["ROU_NEXT_TASK"]; + $aSecJoin[$count]["ROU_PREVIOUS_TYPE"] = "SEC-JOIN"; + $count++; } } @@ -236,7 +243,6 @@ class Derivation $arrayNextTaskBackup = $arrayNextTask; $arrayNextTask = array(); $i = 0; - foreach ($arrayNextTaskBackup as $value) { $arrayNextTaskData = $value; @@ -249,6 +255,10 @@ class Derivation foreach ($arrayAux as $value2) { $arrayNextTask[++$i] = $value2; + foreach($aSecJoin as $rsj){ + $arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TASK"] = $rsj["ROU_PREVIOUS_TASK"]; + $arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TYPE"] = "SEC-JOIN"; + } } } else { $regexpTaskTypeToInclude = "END-MESSAGE-EVENT|END-EMAIL-EVENT"; @@ -260,6 +270,10 @@ class Derivation } $arrayNextTask[++$i] = $arrayNextTaskData; + foreach($aSecJoin as $rsj){ + $arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TASK"] = $rsj["ROU_PREVIOUS_TASK"]; + $arrayNextTask[$i]["NEXT_TASK"]["ROU_PREVIOUS_TYPE"] = "SEC-JOIN"; + } } } @@ -905,7 +919,7 @@ class Derivation if (isset($nextDel["TAS_UID_DUMMY"])) { $taskDummy = TaskPeer::retrieveByPK($nextDel["TAS_UID_DUMMY"]); - if (preg_match("/^(?:END-MESSAGE-EVENT|END-EMAIL-EVENT)$/", $taskDummy->getEvnType())) { + if (preg_match("/^(?:END-MESSAGE-EVENT|END-EMAIL-EVENT)$/", $taskDummy->getTasType())) { //Throw Events $this->throwEventsBetweenElementOriginAndElementDest($currentDelegation["TAS_UID"], $nextDel["TAS_UID_DUMMY"], $appFields, $flagFirstIteration, true); } @@ -954,11 +968,17 @@ class Derivation case "SEC-JOIN": $arrayOpenThread = ($flagTaskIsMultipleInstance && $flagTaskAssignTypeIsMultipleInstance)? $this->case->searchOpenPreviousTasks($currentDelegation["TAS_UID"], $currentDelegation["APP_UID"]) : array(); $arrayOpenThread = array_merge($arrayOpenThread, $this->case->getOpenSiblingThreads($nextDel["TAS_UID"], $currentDelegation["APP_UID"], $currentDelegation["DEL_INDEX"], $currentDelegation["TAS_UID"])); - $canDerivate = empty($arrayOpenThread); break; default: $canDerivate = true; + //Check if the previous is a SEC-JOIN and check threads + if(isset($nextDel["ROU_PREVIOUS_TYPE"])){ + if($nextDel["ROU_PREVIOUS_TYPE"] == "SEC-JOIN"){ + $arrayOpenThread = $this->case->searchOpenPreviousTasks($nextDel["ROU_PREVIOUS_TASK"], $currentDelegation["APP_UID"]); + $canDerivate = empty($arrayOpenThread); + } + } break; } break; @@ -1054,7 +1074,9 @@ class Derivation "TAS_ASSIGN_TYPE" => $arrayTaskNextDelNextDel["NEXT_TASK"]["TAS_ASSIGN_TYPE"], "TAS_DEF_PROC_CODE" => $arrayTaskNextDelNextDel["NEXT_TASK"]["TAS_DEF_PROC_CODE"], "DEL_PRIORITY" => "", - "TAS_PARENT" => $arrayTaskNextDelNextDel["NEXT_TASK"]["TAS_PARENT"] + "TAS_PARENT" => $arrayTaskNextDelNextDel["NEXT_TASK"]["TAS_PARENT"], + "ROU_PREVIOUS_TYPE" => $arrayTaskNextDelNextDel["NEXT_TASK"]["ROU_PREVIOUS_TYPE"], + "ROU_PREVIOUS_TASK" => $arrayTaskNextDelNextDel["NEXT_TASK"]["ROU_PREVIOUS_TASK"] ); } diff --git a/workflow/engine/classes/model/AdditionalTables.php b/workflow/engine/classes/model/AdditionalTables.php index b6549e701..ccc949199 100755 --- a/workflow/engine/classes/model/AdditionalTables.php +++ b/workflow/engine/classes/model/AdditionalTables.php @@ -40,10 +40,12 @@ function validateType ($value, $type) $value1 = str_replace(".", "", $value1); $value = $value1.".".$value2; } else { - $value2 = substr($value, $posPoint+1); - $value1 = substr($value, 0, $posPoint); - $value1 = str_replace(",", "", $value1); - $value = $value1.".".$value2; + if($posPoint) { + $value2 = substr($value, $posPoint+1); + $value1 = substr($value, 0, $posPoint); + $value1 = str_replace(",", "", $value1); + $value = $value1.".".$value2; + } } break; default: diff --git a/workflow/engine/classes/model/Process.php b/workflow/engine/classes/model/Process.php index a47a68306..5e1c751f3 100755 --- a/workflow/engine/classes/model/Process.php +++ b/workflow/engine/classes/model/Process.php @@ -173,13 +173,13 @@ class Process extends BaseProcess $this->setProTimeunit( 'DAYS' ); $this->setProStatus( 'ACTIVE' ); $this->setProTypeDay( '' ); - $this->setProType( 'NORMAL' ); + $this->setProType((isset($aData["PRO_TYPE"]))? $aData["PRO_TYPE"]: "NORMAL"); $this->setProAssignment( 'FALSE' ); $this->setProShowMap( '' ); $this->setProShowMessage( '' ); $this->setProShowDelegate( '' ); $this->setProShowDynaform( '' ); - $this->setProCategory( $aData['PRO_CATEGORY'] ); + $this->setProCategory((isset($aData["PRO_CATEGORY"]))? $aData["PRO_CATEGORY"]: ""); $this->setProSubCategory( '' ); $this->setProIndustry( '' ); $this->setProCreateDate( date("Y-m-d H:i:s") ); diff --git a/workflow/engine/classes/model/map/ProcessMapBuilder.php b/workflow/engine/classes/model/map/ProcessMapBuilder.php index ab4a2a653..087ea7644 100755 --- a/workflow/engine/classes/model/map/ProcessMapBuilder.php +++ b/workflow/engine/classes/model/map/ProcessMapBuilder.php @@ -77,7 +77,7 @@ class ProcessMapBuilder $tMap->addColumn('PRO_TYPE_DAY', 'ProTypeDay', 'string', CreoleTypes::CHAR, true, 1); - $tMap->addColumn('PRO_TYPE', 'ProType', 'string', CreoleTypes::VARCHAR, true, 20); + $tMap->addColumn('PRO_TYPE', 'ProType', 'string', CreoleTypes::VARCHAR, true, 256); $tMap->addColumn('PRO_ASSIGNMENT', 'ProAssignment', 'string', CreoleTypes::VARCHAR, true, 20); @@ -87,6 +87,8 @@ class ProcessMapBuilder $tMap->addColumn('PRO_SUBPROCESS', 'ProSubprocess', 'int', CreoleTypes::TINYINT, true, null); + $tMap->addColumn('PRO_TRI_OPEN', 'ProTriOpen', 'string', CreoleTypes::VARCHAR, true, 32); + $tMap->addColumn('PRO_TRI_DELETED', 'ProTriDeleted', 'string', CreoleTypes::VARCHAR, true, 32); $tMap->addColumn('PRO_TRI_CANCELED', 'ProTriCanceled', 'string', CreoleTypes::VARCHAR, true, 32); @@ -137,8 +139,6 @@ class ProcessMapBuilder $tMap->addValidator('PRO_STATUS', 'validValues', 'propel.validator.ValidValuesValidator', 'ACTIVE|INACTIVE|DISABLED', 'Please select a valid Process Status.'); - $tMap->addValidator('PRO_TYPE', 'validValues', 'propel.validator.ValidValuesValidator', 'NORMAL', 'Please select a valid Process Type.'); - $tMap->addValidator('PRO_ASSIGNMENT', 'validValues', 'propel.validator.ValidValuesValidator', 'TRUE|FALSE', 'Please select a valid Process Assignment'); } // doBuild() diff --git a/workflow/engine/classes/model/om/BaseProcessPeer.php b/workflow/engine/classes/model/om/BaseProcessPeer.php index 40addd748..11aea4ff8 100755 --- a/workflow/engine/classes/model/om/BaseProcessPeer.php +++ b/workflow/engine/classes/model/om/BaseProcessPeer.php @@ -670,9 +670,6 @@ abstract class BaseProcessPeer if ($obj->isNew() || $obj->isColumnModified(ProcessPeer::PRO_STATUS)) $columns[ProcessPeer::PRO_STATUS] = $obj->getProStatus(); - if ($obj->isNew() || $obj->isColumnModified(ProcessPeer::PRO_TYPE)) - $columns[ProcessPeer::PRO_TYPE] = $obj->getProType(); - if ($obj->isNew() || $obj->isColumnModified(ProcessPeer::PRO_ASSIGNMENT)) $columns[ProcessPeer::PRO_ASSIGNMENT] = $obj->getProAssignment(); diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index f24c3bfa4..47f35964e 100755 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -846,7 +846,7 @@ - + @@ -881,9 +881,6 @@ - - - @@ -5224,4 +5221,3 @@ - diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index de3e97520..3a5460ded 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -406,7 +406,7 @@ CREATE TABLE `PROCESS` `PRO_TIMEUNIT` VARCHAR(20) default 'DAYS' NOT NULL, `PRO_STATUS` VARCHAR(20) default 'ACTIVE' NOT NULL, `PRO_TYPE_DAY` CHAR(1) default '0' NOT NULL, - `PRO_TYPE` VARCHAR(20) default 'NORMAL' NOT NULL, + `PRO_TYPE` VARCHAR(256) default 'NORMAL' NOT NULL, `PRO_ASSIGNMENT` VARCHAR(20) default 'FALSE' NOT NULL, `PRO_SHOW_MAP` TINYINT default 1 NOT NULL, `PRO_SHOW_MESSAGE` TINYINT default 1 NOT NULL, diff --git a/workflow/engine/methods/cases/casesListExtJs.php b/workflow/engine/methods/cases/casesListExtJs.php index 650de87f1..ee92cb3cb 100755 --- a/workflow/engine/methods/cases/casesListExtJs.php +++ b/workflow/engine/methods/cases/casesListExtJs.php @@ -223,6 +223,11 @@ $oHeadPublisher->addExtJsScript( 'app/main', true ); $oHeadPublisher->addExtJsScript( 'cases/casesList', false ); //adding a javascript file .js $oHeadPublisher->addContent( 'cases/casesListExtJs' ); //adding a html file .html. $oHeadPublisher->assign( 'FORMATS', $c->getFormats() ); +$ieVersion = null; +if(preg_match("/^.*\(.*MSIE (\d+)\..+\).*$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch) || preg_match("/^.*\(.*rv.(\d+)\..+\).*$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch)){ + $ieVersion = intval($arrayMatch[1]); +} +$oHeadPublisher->assign( 'ieVersion', $ieVersion ); G::RenderPage( 'publish', 'extJs' ); function getUserArray ($action, $userUid) diff --git a/workflow/engine/methods/cases/casesStartPage.php b/workflow/engine/methods/cases/casesStartPage.php index 5e915f4f2..93f5458c0 100755 --- a/workflow/engine/methods/cases/casesStartPage.php +++ b/workflow/engine/methods/cases/casesStartPage.php @@ -17,6 +17,11 @@ switch ($page) { G::LoadClass( 'configuration' ); $c = new Configurations(); $oHeadPublisher->assign( 'FORMATS', $c->getFormats() ); + $ieVersion = null; + if(preg_match("/^.*\(.*MSIE (\d+)\..+\).*$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch) || preg_match("/^.*\(.*rv.(\d+)\..+\).*$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch)){ + $ieVersion = intval($arrayMatch[1]); + } + $oHeadPublisher->assign( 'ieVersion', $ieVersion ); break; case "documents": diff --git a/workflow/engine/methods/cases/cases_CatchSelfService.php b/workflow/engine/methods/cases/cases_CatchSelfService.php index a66a41688..a84bae9fe 100755 --- a/workflow/engine/methods/cases/cases_CatchSelfService.php +++ b/workflow/engine/methods/cases/cases_CatchSelfService.php @@ -96,10 +96,16 @@ $oHeadPublisher->addScriptCode( ' leimnud.Package.Load("cases_Step",{Type:"file",Absolute:true,Path:"/jscore/cases/core/cases_Step.js"}); leimnud.Package.Load("processmap",{Type:"file",Absolute:true,Path:"/jscore/processmap/core/processmap.js"}); leimnud.exec(leimnud.fix.memoryLeak); - ' ); + ' ); $oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher->addScriptFile( '/jscore/cases/core/cases_Step.js' ); +$ieVersion = ''; +if(preg_match("/^.*\(.*MSIE (\d+)\..+\).*$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch) || preg_match("/^.*\(.*rv.(\d+)\..+\).*$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch)){ + $ieVersion = intval($arrayMatch[1]); +} +$Fields['IE_VERSION'] = $ieVersion; + $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_CatchSelfService.xml', '', $Fields, 'cases_CatchExecute' ); G::RenderPage( 'publish', 'blank' ); diff --git a/workflow/engine/methods/cases/cases_Derivate.php b/workflow/engine/methods/cases/cases_Derivate.php index 8fcc492af..2b622db17 100755 --- a/workflow/engine/methods/cases/cases_Derivate.php +++ b/workflow/engine/methods/cases/cases_Derivate.php @@ -250,6 +250,24 @@ try { unset( $_SESSION['TRIGGER_DEBUG'] ); } } + + //close tab only if IE11 + $ieVersion = null; + if(preg_match("/^.*\(.*MSIE (\d+)\..+\).*$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch) || preg_match("/^.*\(.*rv.(\d+)\..+\).*$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch)){ + $ieVersion = intval($arrayMatch[1]); + } + if($ieVersion == 11 && !isset($_SESSION['__OUTLOOK_CONNECTOR__'])) { + $script = ""; + die($script); + } G::header( "location: $loc" ); } catch (Exception $e) { diff --git a/workflow/engine/methods/cases/cases_Step.php b/workflow/engine/methods/cases/cases_Step.php index 9dabc0455..be08ce525 100755 --- a/workflow/engine/methods/cases/cases_Step.php +++ b/workflow/engine/methods/cases/cases_Step.php @@ -967,6 +967,7 @@ try { $hiddenName = "form[TASKS][" . $sKey . "][TAS_UID]"; $hiddenField = ''; $aFields['TASK'][$sKey]['NEXT_TASK']['TAS_HIDDEN_FIELD'] = $hiddenField; + //print "
".$aValues['NEXT_TASK']['TAS_ASSIGN_TYPE']."
"; switch ($aValues['NEXT_TASK']['TAS_ASSIGN_TYPE']) { case 'EVALUATE': @@ -1182,6 +1183,10 @@ try { } $aFields['TASK'][$sKey]['NEXT_TASK']['DEL_PRIORITY'] = ''; $aFields['TASK'][$sKey]['NEXT_TASK']['TAS_PARENT'] = ''; + if(isset($aValues['NEXT_TASK']['ROU_PREVIOUS_TASK']) && isset($aValues['NEXT_TASK']['ROU_PREVIOUS_TYPE'])){ + $aFields['TASK'][$sKey]['NEXT_TASK']['ROU_PREVIOUS_TASK'] = ''; + $aFields['TASK'][$sKey]['NEXT_TASK']['ROU_PREVIOUS_TYPE'] = ''; + } } } diff --git a/workflow/engine/skinEngine/skinEngine.php b/workflow/engine/skinEngine/skinEngine.php index ea4907cf9..17e05ad08 100755 --- a/workflow/engine/skinEngine/skinEngine.php +++ b/workflow/engine/skinEngine/skinEngine.php @@ -275,6 +275,7 @@ class SkinEngine //Get the IE version if(preg_match("/^.*\(.*MSIE (\d+)\..+\).*$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch) || preg_match("/^.*\(.*rv.(\d+)\..+\).*$/", $_SERVER["HTTP_USER_AGENT"], $arrayMatch)){ $ie = intval($arrayMatch[1]); + $ieVersion = $ie; } $swTrident = (preg_match("/^.*Trident.*$/", $_SERVER["HTTP_USER_AGENT"]))? 1 : 0; //Trident only in IE8+ @@ -293,6 +294,12 @@ class SkinEngine $doctype = null; $meta = ""; + + if (SYS_COLLECTION == 'cases') { + if($ieVersion == 11) { + $meta = ""; + } + } } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Process.php b/workflow/engine/src/ProcessMaker/BusinessModel/Process.php index 8347dce10..8cee2a521 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Process.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Process.php @@ -16,7 +16,7 @@ class Process "PRO_TIMEUNIT" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array("DAYS"), "fieldNameAux" => "processTimeunit"), "PRO_STATUS" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array("ACTIVE", "INACTIVE"), "fieldNameAux" => "processStatus"), "PRO_TYPE_DAY" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "processTypeDay"), - "PRO_TYPE" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array("NORMAL"), "fieldNameAux" => "processType"), + "PRO_TYPE" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "processType"), "PRO_ASSIGNMENT" => array("type" => "int", "required" => false, "empty" => false, "defaultValues" => array(0, 1), "fieldNameAux" => "processAssignment"), "PRO_SHOW_MAP" => array("type" => "int", "required" => false, "empty" => false, "defaultValues" => array(0, 1), "fieldNameAux" => "processShowMap"), "PRO_SHOW_MESSAGE" => array("type" => "int", "required" => false, "empty" => false, "defaultValues" => array(0, 1), "fieldNameAux" => "processShowMessage"), diff --git a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php index 44cbcd12f..3b8b2ffe1 100755 --- a/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Adapter/BpmnWorkflow.php @@ -77,6 +77,14 @@ class BpmnWorkflow extends Project\Bpmn $wpData["PRO_CREATE_USER"] = $data["PRJ_AUTHOR"]; } + if (array_key_exists("PRJ_TYPE", $data)) { + $wpData["PRO_TYPE"] = $data["PRJ_TYPE"]; + } + + if (array_key_exists("PRJ_CATEGORY", $data)) { + $wpData["PRO_CATEGORY"] = $data["PRJ_CATEGORY"]; + } + $this->wp = new Project\Workflow(); $this->wp->create($wpData); @@ -1208,6 +1216,14 @@ class BpmnWorkflow extends Project\Bpmn $data["PRJ_UID"] = $projectData["prj_uid"]; $data["PRJ_AUTHOR"] = $projectData["prj_author"]; + if (isset($projectData["prj_type"])) { + $data["PRJ_TYPE"] = $projectData["prj_type"]; + } + + if (isset($projectData["prj_category"])) { + $data["PRJ_CATEGORY"] = $projectData["prj_category"]; + } + $bwp->create($data); $diagramData = $processData = array(); diff --git a/workflow/engine/templates/cases/casesList.js b/workflow/engine/templates/cases/casesList.js index c35135b3b..27e1a6c8e 100755 --- a/workflow/engine/templates/cases/casesList.js +++ b/workflow/engine/templates/cases/casesList.js @@ -24,6 +24,7 @@ var grid; var textJump; var ids = ''; var winReassignInCasesList; +var casesNewTab; function formatAMPM(date, initVal, calendarDate) { @@ -84,13 +85,14 @@ function openCase(){ var appUid = rowModel.data.APP_UID; var delIndex = rowModel.data.DEL_INDEX; var caseTitle = (rowModel.data.APP_TITLE) ? rowModel.data.APP_TITLE : rowModel.data.APP_UID; - - Ext.Msg.show({ - msg: _('ID_OPEN_CASE') + ' ' + caseTitle, - width:300, - wait:true, - waitConfig: {interval:200} - }); + if(ieVersion != 11) { + Ext.Msg.show({ + msg: _('ID_OPEN_CASE') + ' ' + caseTitle, + width:300, + wait:true, + waitConfig: {interval:200} + }); + } params = ''; switch(action){ case 'to_revise': @@ -128,7 +130,14 @@ function openCase(){ // Nothing to do } params += '&action=' + action; - redirect(requestFile + '?' + params); + if(ieVersion == 11) { + if(casesNewTab) { + casesNewTab.close(); + } + casesNewTab = window.open(requestFile + '?' + params); + } else { + redirect(requestFile + '?' + params); + } } else msgBox(_('ID_INFORMATION'), _('ID_SELECT_ONE_AT_LEAST')); @@ -2473,3 +2482,8 @@ function msgBox(title, msg, type){ }); } +Ext.EventManager.on(window, 'beforeunload', function () { + if(casesNewTab) { + casesNewTab.close(); + } +}); diff --git a/workflow/engine/templates/cases/casesStartCase.js b/workflow/engine/templates/cases/casesStartCase.js index e57ff324e..cd25db210 100755 --- a/workflow/engine/templates/cases/casesStartCase.js +++ b/workflow/engine/templates/cases/casesStartCase.js @@ -1,5 +1,6 @@ //Ext.BLANK_IMAGE_URL = 'resources/s.gif'; var startCaseFilter; +var newCaseNewTab; Ext.chart.Chart.CHART_URL = '/images/charts.swf'; Ext.FlashComponent.EXPRESS_INSTALL_URL = '/images/expressinstall.swf'; @@ -444,12 +445,14 @@ Ext.onReady(function() { function openCaseA(n){ if (n.attributes.optionType == "startProcess") { - Ext.Msg.show({ - title : '', - msg : TRANSLATIONS.ID_STARTING_NEW_CASE + '

' + n.attributes.text + '', - wait:true, - waitConfig: {interval:500} - }); + if(ieVersion != 11) { + Ext.Msg.show({ + title : '', + msg : TRANSLATIONS.ID_STARTING_NEW_CASE + '

' + n.attributes.text + '', + wait:true, + waitConfig: {interval:500} + }); + } Ext.Ajax.request({ url : 'casesStartPage_Ajax.php', params : { @@ -462,7 +465,14 @@ function openCaseA(n){ try { var res = Ext.util.JSON.decode(response.responseText); if (res.openCase) { + if(ieVersion == 11) { + if(newCaseNewTab) { + newCaseNewTab.close(); + } + newCaseNewTab = window.open(res.openCase.PAGE); + } else { window.location = res.openCase.PAGE; + } }else if (res.lostSession) { Ext.Msg.show({ title : TRANSLATIONS.ID_ERROR_CREATING_NEW_CASE, // 'Error creating a new Case', @@ -574,4 +584,10 @@ Ext.ux.MaskTree = Ext.extend(Ext.tree.TreePanel, { } }); // end of extend -Ext.reg('masktree', Ext.ux.MaskTree); \ No newline at end of file +Ext.reg('masktree', Ext.ux.MaskTree); + +Ext.EventManager.on(window, 'beforeunload', function () { + if(newCaseNewTab) { + newCaseNewTab.close(); + } +}); diff --git a/workflow/engine/templates/cases/cases_ScreenDerivation.html b/workflow/engine/templates/cases/cases_ScreenDerivation.html index 413e4b2a8..47732198d 100755 --- a/workflow/engine/templates/cases/cases_ScreenDerivation.html +++ b/workflow/engine/templates/cases/cases_ScreenDerivation.html @@ -148,7 +148,7 @@ - {$data.NEXT_TASK.TAS_ASSIGN_TYPE}{$data.NEXT_TASK.TAS_DEF_PROC_CODE}{$data.NEXT_TASK.DEL_PRIORITY}{$data.NEXT_TASK.TAS_PARENT} + {$data.NEXT_TASK.TAS_ASSIGN_TYPE}{$data.NEXT_TASK.TAS_DEF_PROC_CODE}{$data.NEXT_TASK.DEL_PRIORITY}{$data.NEXT_TASK.TAS_PARENT}{$data.NEXT_TASK.ROU_PREVIOUS_TASK}{$data.NEXT_TASK.ROU_PREVIOUS_TYPE} diff --git a/workflow/engine/xmlform/cases/cases_CatchSelfService.html b/workflow/engine/xmlform/cases/cases_CatchSelfService.html index 7b4f7da70..91a1cd856 100755 --- a/workflow/engine/xmlform/cases/cases_CatchSelfService.html +++ b/workflow/engine/xmlform/cases/cases_CatchSelfService.html @@ -1,76 +1,72 @@ -
-
-
- +
+
 
 
 
+
+
+ + + + +
- - - - + + + +
+ + + + - + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - -
{$form.IE_VERSION}
{$form.TITLE1}
{$PRO_TITLE}{$form.PRO_TITLE}
{$form.PRO_TITLE}
{$STATUS}{$form.STATUS}
{$form.STATUS}
{$TITLE}{$form.TITLE}
{$form.TITLE}
{$APP_NUMBER}{$form.APP_NUMBER}
{$form.APP_NUMBER}
{$APP_UID}{$form.APP_UID}
{$form.APP_UID}
{$TAS_TITLE}{$form.TAS_TITLE}
{$form.TAS_TITLE}
{$DEL_DELEGATE_DATE}{$form.DEL_DELEGATE_DATE}
{$form.DEL_DELEGATE_DATE}
{$DEL_TASK_DUE_DATE}{$form.DEL_TASK_DUE_DATE}
{$form.DEL_TASK_DUE_DATE}
{$PREVIOUS_TASK}{$form.PREVIOUS_TASK}
{$form.PREVIOUS_TASK}
{$PREVIOUS_USER}{$form.PREVIOUS_USER}
{$form.BTN_CATCH} {$form.BTN_CANCEL}
+
{$form.PREVIOUS_USER}
{$form.BTN_CATCH} {$form.BTN_CANCEL}
-
-
-
-
+ +
 
 
 
+ + + diff --git a/workflow/engine/xmlform/cases/cases_CatchSelfService.xml b/workflow/engine/xmlform/cases/cases_CatchSelfService.xml index 29a4c56b1..63ec58915 100755 --- a/workflow/engine/xmlform/cases/cases_CatchSelfService.xml +++ b/workflow/engine/xmlform/cases/cases_CatchSelfService.xml @@ -1,5 +1,6 @@ + @@ -39,4 +40,20 @@ +