Add exception messages for exceptional inconsistencies cases.

This commit is contained in:
Gustavo Adolfo Cruz Laura
2016-03-31 13:43:28 -04:00
parent c919eba3d7
commit a378a779dd
4 changed files with 29 additions and 18 deletions

View File

@@ -169,7 +169,10 @@ class GranularImporter
} }
} }
} catch (\Exception $e) { } catch (\Exception $e) {
throw $e; $exception = new ImportException('Please review your current process definition
for missing elements, it\'s recommended that a new process should be exported
with all the elements.');
throw $exception;
} }
} }
@@ -186,7 +189,7 @@ class GranularImporter
if ($generateUid) { if ($generateUid) {
if (count($objectList) !== count($this->exportObjects->getObjectsList())) { if (count($objectList) !== count($this->exportObjects->getObjectsList())) {
$exception = new ImportException(); $exception = new ImportException();
$exception->setNameException(\G::LoadTranslation('ID_PROCESS_DEFINITION_NON_EXISTENT')); $exception->setNameException(\G::LoadTranslation('ID_PROCESS_DEFINITION_INCOMPLETE'));
throw($exception); throw($exception);
} }
} }

View File

@@ -5,6 +5,7 @@ use ProcessMaker\Util;
use ProcessMaker\Project; use ProcessMaker\Project;
use ProcessMaker\Project\Adapter; use ProcessMaker\Project\Adapter;
use ProcessMaker\BusinessModel\Migrator; use ProcessMaker\BusinessModel\Migrator;
use ProcessMaker\BusinessModel\Migrator\ImportException;
abstract class Importer abstract class Importer
{ {
@@ -175,11 +176,17 @@ abstract class Importer
} else { } else {
$granularObj = new \ProcessMaker\BusinessModel\Migrator\GranularImporter(); $granularObj = new \ProcessMaker\BusinessModel\Migrator\GranularImporter();
$objectList = $granularObj->loadObjectsListSelected($this->importData, $objectsToImport); $objectList = $granularObj->loadObjectsListSelected($this->importData, $objectsToImport);
foreach($objectList as $rowObject) { try {
if($rowObject['name'] === 'PROCESSDEFINITION') { foreach ($objectList as $rowObject) {
$onlyDiagram = true; if ($rowObject['name'] === 'PROCESSDEFINITION') {
$this->removeProject($onlyDiagram); $onlyDiagram = true;
$this->removeProject($onlyDiagram);
}
} }
} catch (\Exception $e) {
$exception = new ImportException($e->getMessage());
$exception->setNameException(\G::LoadTranslation('ID_PROCESS_DEFINITION_INCOMPLETE'));
throw $exception;
} }
} }
$name = $this->currentProcessTitle; $name = $this->currentProcessTitle;

View File

@@ -898,19 +898,20 @@ class Workflow extends Handler
$emailEvent->delete($sProcessUID,$row["EMAIL_EVENT_UID"],false); $emailEvent->delete($sProcessUID,$row["EMAIL_EVENT_UID"],false);
} }
//Delete files Manager if (!$onlyDiagram) {
$filesManager = new \ProcessMaker\BusinessModel\FilesManager(); //Delete files Manager
$criteria = new \Criteria("workflow"); $filesManager = new \ProcessMaker\BusinessModel\FilesManager();
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_UID); $criteria = new \Criteria("workflow");
$criteria->add(\ProcessFilesPeer::PRO_UID, $sProcessUID, \Criteria::EQUAL); $criteria->addSelectColumn(\ProcessFilesPeer::PRF_UID);
$rsCriteria = \ProcessFilesPeer::doSelectRS($criteria); $criteria->add(\ProcessFilesPeer::PRO_UID, $sProcessUID, \Criteria::EQUAL);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); $rsCriteria = \ProcessFilesPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) { while ($rsCriteria->next()) {
$row = $rsCriteria->getRow(); $row = $rsCriteria->getRow();
$filesManager->deleteProcessFilesManager($sProcessUID, $row["PRF_UID"]); $filesManager->deleteProcessFilesManager($sProcessUID, $row["PRF_UID"]);
}
} }
//Delete the actions by email //Delete the actions by email
$oCriteria = new Criteria('workflow'); $oCriteria = new Criteria('workflow');
$oCriteria->add(\AbeConfigurationPeer::PRO_UID, $sProcessUID); $oCriteria->add(\AbeConfigurationPeer::PRO_UID, $sProcessUID);

View File

@@ -1213,7 +1213,7 @@ function exportImportProcessObjects(typeAction)
failure : function(o, resp) { failure : function(o, resp) {
var msg = resp.result ? resp.result.msg : resp.response.responseText; var msg = resp.result ? resp.result.msg : resp.response.responseText;
Ext.getCmp('objectsToImport').setValue(""); Ext.getCmp('objectsToImport').setValue("");
w.close(); granularWindow.close();
Ext.MessageBox.show({ Ext.MessageBox.show({
title : _('ID_ERROR'), title : _('ID_ERROR'),
msg : msg, msg : msg,