From 847a83321d5ce9cedf0087895dd020c7b7e92dda Mon Sep 17 00:00:00 2001 From: dheeyi Date: Wed, 6 Apr 2016 12:02:39 -0400 Subject: [PATCH 1/2] =?UTF-8?q?MT-100=20Se=20puede=20importar=20procesos?= =?UTF-8?q?=20de=20Enterprise=20a=20Community=20con=20exportaci=C3=B3n=20g?= =?UTF-8?q?ranular?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/methods/processes/mainInit.php | 11 ++++++++++- .../methods/processes/processes_Import_Ajax.php | 14 +++++++++----- .../BusinessModel/Migrator/GranularExporter.php | 4 ++-- workflow/engine/templates/processes/main.js | 3 +++ 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/workflow/engine/methods/processes/mainInit.php b/workflow/engine/methods/processes/mainInit.php index 83d7123bd..2ae1c4898 100755 --- a/workflow/engine/methods/processes/mainInit.php +++ b/workflow/engine/methods/processes/mainInit.php @@ -31,7 +31,16 @@ $conf = new Configurations(); $pmVersion = (preg_match("/^([\d\.]+).*$/", System::getVersion(), $arrayMatch))? $arrayMatch[1] : ""; //Otherwise: Branch master -$arrayFlagImportFileExtension = array("pm", "pmx", "bpmn"); +/*----------------------------------********---------------------------------*/ +if (true) { + $arrayFlagImportFileExtension = array("pm", "pmx", "pmx2", "bpmn"); +} else { +/*----------------------------------********---------------------------------*/ + $arrayFlagImportFileExtension = array("pm", "pmx", "bpmn"); +/*----------------------------------********---------------------------------*/ +} +/*----------------------------------********---------------------------------*/ + $arrayFlagMenuNewOption = array("pm" => true, "bpmn" => true); if ($pmVersion != "") { diff --git a/workflow/engine/methods/processes/processes_Import_Ajax.php b/workflow/engine/methods/processes/processes_Import_Ajax.php index 3dc8ebda5..50d738148 100644 --- a/workflow/engine/methods/processes/processes_Import_Ajax.php +++ b/workflow/engine/methods/processes/processes_Import_Ajax.php @@ -33,7 +33,7 @@ $objectsToImport = ''; if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm5CeTJhQlIwN3IxMEkwaG4=") && isset($_FILES["PROCESS_FILENAME"]) && $_FILES["PROCESS_FILENAME"]["error"] == 0 && - preg_match("/^(?:pm|pmx)$/", pathinfo($_FILES["PROCESS_FILENAME"]["name"], PATHINFO_EXTENSION)) + preg_match("/^(?:pm|pmx|pmx2)$/", pathinfo($_FILES["PROCESS_FILENAME"]["name"], PATHINFO_EXTENSION)) ) { //Check disabled code $response = array(); @@ -55,6 +55,7 @@ if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm } break; case "pmx": + case "pmx2": $importer = new XmlImporter(); $data = $importer->load($_FILES["PROCESS_FILENAME"]["tmp_name"]); if (isset($data["tables"]["workflow"]["triggers"]) && is_array($data["tables"]["workflow"]["triggers"]) && !empty($data["tables"]["workflow"]["triggers"])) { @@ -109,8 +110,9 @@ if (PMLicensedFeatures::getSingleton()->verifyfeature("B0oWlBLY3hHdWY0YUNpZEtFQm } /*----------------------------------********---------------------------------*/ -if (isset($_FILES["PROCESS_FILENAME"]) && - pathinfo($_FILES["PROCESS_FILENAME"]["name"], PATHINFO_EXTENSION) == "pmx" +if (isset($_FILES["PROCESS_FILENAME"]) && (pathinfo($_FILES["PROCESS_FILENAME"]["name"], PATHINFO_EXTENSION) == "pmx" + || pathinfo($_FILES["PROCESS_FILENAME"]["name"], PATHINFO_EXTENSION) == "pmx2") + ) { $importer = new XmlImporter(); $importer->setData("usr_uid", $_SESSION["USER_LOGGED"]); @@ -219,8 +221,10 @@ if (isset($_FILES["PROCESS_FILENAME"]) && } if (isset($_POST["PRO_FILENAME"]) && - file_exists(PATH_DOCUMENT . "input" . PATH_SEP . $_POST["PRO_FILENAME"]) && - pathinfo(PATH_DOCUMENT . "input" . PATH_SEP . $_POST["PRO_FILENAME"], PATHINFO_EXTENSION) == "pmx" + file_exists(PATH_DOCUMENT . "input" . PATH_SEP . $_POST["PRO_FILENAME"]) && (pathinfo(PATH_DOCUMENT . "input" . + PATH_SEP . $_POST["PRO_FILENAME"], PATHINFO_EXTENSION) == "pmx" || pathinfo(PATH_DOCUMENT . "input" . + PATH_SEP . $_POST["PRO_FILENAME"], PATHINFO_EXTENSION) == "pmx2") + ) { $option = XmlImporter::IMPORT_OPTION_CREATE_NEW; diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php index 5766f228f..5186c7e03 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php @@ -55,8 +55,8 @@ class GranularExporter $projectData = $bpmnProject->getProject(); $getProjectName = $this->publisher->truncateName($projectData['PRJ_NAME'], false); $outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP; - $version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $getProjectName . "-*.pmx") + 1; - $outputFilename = $outputDir . sprintf("%s-%s.%s", str_replace(" ", "_", $getProjectName), $version, "pmx"); + $version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $getProjectName . "-*.pmx2") + 1; + $outputFilename = $outputDir . sprintf("%s-%s.%s", str_replace(" ", "_", $getProjectName), $version, "pmx2"); $bpnmDefinition = array( 'ACTIVITY' => [], diff --git a/workflow/engine/templates/processes/main.js b/workflow/engine/templates/processes/main.js index 644935f6e..f6798e343 100755 --- a/workflow/engine/templates/processes/main.js +++ b/workflow/engine/templates/processes/main.js @@ -1914,6 +1914,9 @@ importProcess = function() switch (fileExtension) { case "pm": case "pmx": + /*----------------------------------********---------------------------------*/ + case "pmx2": + /*----------------------------------********---------------------------------*/ var uploader = Ext.getCmp("uploader"); if (uploader.getForm().isValid()) { From f524904489a626a0513a613c909bf6ee64693007 Mon Sep 17 00:00:00 2001 From: dheeyi Date: Thu, 7 Apr 2016 17:09:14 -0400 Subject: [PATCH 2/2] MT-100 fix for extension .pmx and .pmx2 --- workflow/engine/templates/processes/main.js | 83 +++++++++++---------- 1 file changed, 45 insertions(+), 38 deletions(-) diff --git a/workflow/engine/templates/processes/main.js b/workflow/engine/templates/processes/main.js index f6798e343..4c6eac2cf 100755 --- a/workflow/engine/templates/processes/main.js +++ b/workflow/engine/templates/processes/main.js @@ -989,48 +989,55 @@ var deleteCases = function(){ } function exportProcess() { - var record = processesGrid.getSelectionModel().getSelections(); + var record = processesGrid.getSelectionModel().getSelections(); - if(record.length == 1) { - if(Ext.getCmp('exportProcessObjectsWindow')) { - Ext.getCmp('exportProcessObjectsWindow').close(); - } - var myMask = new Ext.LoadMask(Ext.getBody(), {msg: _("ID_LOADING")}); - var proUid = record[0].get("PRO_UID"); - - myMask.show(); - - Ext.Ajax.request({ - url: "../processes/processes_Export", - method: "GET", - params: { - "pro_uid": proUid, - "objects": processObjectsArray - }, - success: function (response) { - var result = JSON.parse(response.responseText); - myMask.hide(); - - if (result.success) { - window.location = "../processes/processes_DownloadFile?file_hash=" + result.file_hash; + if (record.length == 1) { + if (Ext.getCmp('exportProcessObjectsWindow')) { + Ext.getCmp('exportProcessObjectsWindow').close(); } else { - Ext.Msg.show({title: "", msg: result.message, icon: Ext.MessageBox.ERROR, buttons: Ext.MessageBox.OK}); + processObjectsArray = ''; } - }, + var myMask = new Ext.LoadMask(Ext.getBody(), {msg: _("ID_LOADING")}); + var proUid = record[0].get("PRO_UID"); - failure: function (response, opts) { - myMask.hide(); - } - }); - } - else { - Ext.Msg.show({ - title: _("ID_INFORMATION"), - msg: _("ID_NO_SELECTION_WARNING"), - icon: Ext.MessageBox.INFO, - buttons: Ext.MessageBox.OK - }); - } + myMask.show(); + + Ext.Ajax.request({ + url: "../processes/processes_Export", + method: "GET", + params: { + "pro_uid": proUid, + "objects": processObjectsArray + }, + success: function (response) { + var result = JSON.parse(response.responseText); + myMask.hide(); + + if (result.success) { + window.location = "../processes/processes_DownloadFile?file_hash=" + result.file_hash; + } else { + Ext.Msg.show({ + title: "", + msg: result.message, + icon: Ext.MessageBox.ERROR, + buttons: Ext.MessageBox.OK + }); + } + }, + + failure: function (response, opts) { + myMask.hide(); + } + }); + } + else { + Ext.Msg.show({ + title: _("ID_INFORMATION"), + msg: _("ID_NO_SELECTION_WARNING"), + icon: Ext.MessageBox.INFO, + buttons: Ext.MessageBox.OK + }); + } } function exportImportProcessObjects(typeAction)