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) {
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 (count($objectList) !== count($this->exportObjects->getObjectsList())) {
$exception = new ImportException();
$exception->setNameException(\G::LoadTranslation('ID_PROCESS_DEFINITION_NON_EXISTENT'));
$exception->setNameException(\G::LoadTranslation('ID_PROCESS_DEFINITION_INCOMPLETE'));
throw($exception);
}
}

View File

@@ -5,6 +5,7 @@ use ProcessMaker\Util;
use ProcessMaker\Project;
use ProcessMaker\Project\Adapter;
use ProcessMaker\BusinessModel\Migrator;
use ProcessMaker\BusinessModel\Migrator\ImportException;
abstract class Importer
{
@@ -175,11 +176,17 @@ abstract class Importer
} else {
$granularObj = new \ProcessMaker\BusinessModel\Migrator\GranularImporter();
$objectList = $granularObj->loadObjectsListSelected($this->importData, $objectsToImport);
foreach($objectList as $rowObject) {
if($rowObject['name'] === 'PROCESSDEFINITION') {
$onlyDiagram = true;
$this->removeProject($onlyDiagram);
try {
foreach ($objectList as $rowObject) {
if ($rowObject['name'] === 'PROCESSDEFINITION') {
$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;

View File

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

View File

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