From 578d58a89fca01033503d10cbf9e1b7f2f2f1dd5 Mon Sep 17 00:00:00 2001 From: Victor Saisa Lopez Date: Wed, 4 Mar 2015 16:51:41 -0400 Subject: [PATCH 1/3] PM-1723 "Designer: Se pierde las configuraciones de un..." SOLVED MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue: Designer: Se pierde las configuraciones de un subproceso al importar el proceso Cause: Al momento de importar no se esta registrando de manera correcta los registros en la tabla "SUB_PROCESS" Solution: Se esta validando que los registros en la tabla "SUB_PROCESS" sean unicos al momento de la importacion Explanation: - Al momento de la importacion de un projecto, si un Activity de tipo sub-process tiene definido sus properties, esta configuracion se registra en la tabla correspondiente, no importando si previamente ya fue importado el projecto que es el sub-process. - La importacion del projecto-principal y el projecto-sub-proceso es independiente, este criterio ya se lo tiene en produccion desde hace varias veriones atras. - Un ejemplo practico seria el siguiente caso: Un administrador exporta el projecto-principal y el projecto-sub-proceso, y dadas las circunstancias el projecto-sub-proceso se pierde, daƱetc. Entonces el administrador por lo menos lograra importar en su workspace el projecto-principal (pues la importacion no valida que primero deba importar el projecto-sub-proceso) --- workflow/engine/classes/class.processes.php | 17 ++++++++++++++--- .../src/ProcessMaker/Project/Workflow.php | 7 +++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/workflow/engine/classes/class.processes.php b/workflow/engine/classes/class.processes.php index 513b78ba1..6725e8f66 100755 --- a/workflow/engine/classes/class.processes.php +++ b/workflow/engine/classes/class.processes.php @@ -1516,9 +1516,20 @@ class Processes { foreach ($SubProcess as $key => $row) { $oSubProcess = new SubProcess(); - if ($oSubProcess->subProcessExists( $row['SP_UID'] )) { - $oSubProcess->remove( $row['SP_UID'] ); - } + + //if ($oSubProcess->subProcessExists( $row['SP_UID'] )) { + // $oSubProcess->remove( $row['SP_UID'] ); + //} + + //Delete + $criteria = new Criteria("workflow"); + + $criteria->add(SubProcessPeer::PRO_PARENT, $row["PRO_PARENT"], Criteria::EQUAL); + $criteria->add(SubProcessPeer::TAS_PARENT, $row["TAS_PARENT"], Criteria::EQUAL); + + $result = SubProcessPeer::doDelete($criteria); + + //Create $res = $oSubProcess->create( $row ); } return; diff --git a/workflow/engine/src/ProcessMaker/Project/Workflow.php b/workflow/engine/src/ProcessMaker/Project/Workflow.php index 688023b9d..c46911cfc 100755 --- a/workflow/engine/src/ProcessMaker/Project/Workflow.php +++ b/workflow/engine/src/ProcessMaker/Project/Workflow.php @@ -764,6 +764,13 @@ class Workflow extends Handler $oCriteria->add(\CaseTrackerObjectPeer::PRO_UID, $sProcessUID); \ProcessUserPeer::doDelete($oCriteria); + //Delete SubProcess + $criteria = new \Criteria("workflow"); + + $criteria->add(\SubProcessPeer::PRO_PARENT, $sProcessUID, \Criteria::EQUAL); + + $result = \SubProcessPeer::doDelete($criteria); + //Delete WebEntries $webEntry = new \ProcessMaker\BusinessModel\WebEntry(); From 681dfff07d55d9f319fc35f2f642236e555f3780 Mon Sep 17 00:00:00 2001 From: jonathan Date: Wed, 4 Mar 2015 17:25:52 -0400 Subject: [PATCH 2/3] fix 1423 view proces map legends in internet explorer --- workflow/engine/templates/cases/open.js | 39 ++++++++++++++++--------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/workflow/engine/templates/cases/open.js b/workflow/engine/templates/cases/open.js index bcd38d4f4..32dbe0da1 100755 --- a/workflow/engine/templates/cases/open.js +++ b/workflow/engine/templates/cases/open.js @@ -30,7 +30,14 @@ function formatAMPM(date, initVal) { minutes = minutes < 10 ? '0'+minutes : minutes; var strTime = hours + ':' + minutes + ' ' + ampm; return strTime; -} +}; + +function isBrowserIE(){ + if(navigator.appName.indexOf("Internet Explorer")!=-1){ //yeah, he's using IE + return true; + } + return false; +}; Ext.onReady(function(){ openToRevisePanel = function() { @@ -1531,20 +1538,24 @@ Ext.onReady(function(){ TabPanel.setActiveTab(tabId); } else { - TabPanel.add({ - id: tabId, - title: menuSelectedTitle[name], - frameConfig: {name: name + 'Frame', id: name + 'Frame'}, - defaultSrc: uri, - loadMask: {msg: _('ID_LOADING_GRID') + '...'}, - autoWidth: true, - closable: true, - autoScroll: true, - bodyStyle: {height: (PMExt.getBrowser().screen.height - 60) + 'px', overflow: 'auto'} - }).show(); + if(!isBrowserIE()){ + TabPanel.add({ + id: tabId, + title: menuSelectedTitle[name], + frameConfig: {name: name + 'Frame', id: name + 'Frame'}, + defaultSrc: uri, + loadMask: {msg: _('ID_LOADING_GRID') + '...'}, + autoWidth: true, + closable: true, + autoScroll: true, + bodyStyle: {height: (PMExt.getBrowser().screen.height - 60) + 'px', overflow: 'auto'} + }).show(); - TabPanel.doLayout(); - } + TabPanel.doLayout(); + }else{ + var windContainer = window.open(uri,"winContainer"); + } + } } }, failure: function ( result, request) { From 90425e7a6efb4bf49e3f6731ad3a25d903de6aa9 Mon Sep 17 00:00:00 2001 From: jonathan Date: Thu, 5 Mar 2015 10:51:54 -0400 Subject: [PATCH 3/3] update function for recognize ie11 --- workflow/engine/templates/cases/open.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/workflow/engine/templates/cases/open.js b/workflow/engine/templates/cases/open.js index 32dbe0da1..ea9cc3336 100755 --- a/workflow/engine/templates/cases/open.js +++ b/workflow/engine/templates/cases/open.js @@ -33,10 +33,11 @@ function formatAMPM(date, initVal) { }; function isBrowserIE(){ - if(navigator.appName.indexOf("Internet Explorer")!=-1){ //yeah, he's using IE - return true; - } - return false; + if ( (navigator.userAgent.indexOf("MSIE")!=-1) || (navigator.userAgent.indexOf("Trident")!=-1) ){ + return true; + } else { + return false; + } }; Ext.onReady(function(){