Merge MT-10 wth latest commits.

This commit is contained in:
Gustavo Adolfo Cruz Laura
2016-03-22 18:22:27 -04:00
16 changed files with 149 additions and 56 deletions

View File

@@ -2600,6 +2600,7 @@ class Processes
/** /**
* @param $aStepSupervisor * @param $aStepSupervisor
* @throws Exception
*/ */
public function updateStepSupervisorRows ($aStepSupervisor) public function updateStepSupervisorRows ($aStepSupervisor)
{ {
@@ -2719,6 +2720,7 @@ class Processes
/** /**
* @param $aPermission * @param $aPermission
* @throws Exception
*/ */
public function createObjectPermissionRows ($aPermission) public function createObjectPermissionRows ($aPermission)
{ {
@@ -2737,6 +2739,7 @@ class Processes
/** /**
* @param $aPermission * @param $aPermission
* @throws Exception
*/ */
public function updateObjectPermissionRows ($aPermission) public function updateObjectPermissionRows ($aPermission)
{ {
@@ -3929,7 +3932,7 @@ class Processes
* @param array $arrayData * @param array $arrayData
* @throws Exception * @throws Exception
*/ */
public function updateFilesManager(array $arrayData) public function updateFilesManager($processUid, array $arrayData)
{ {
try { try {
$filesManager = new \ProcessMaker\BusinessModel\FilesManager(); $filesManager = new \ProcessMaker\BusinessModel\FilesManager();

View File

@@ -27,6 +27,11 @@ class AssignmentRulesMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
* @throws ImportException
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try { try {

View File

@@ -25,6 +25,10 @@ class DBConnectionMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try { try {
@@ -35,7 +39,7 @@ class DBConnectionMigrator implements Importable, Exportable
} }
} catch (\Exception $e) { } catch (\Exception $e) {
\Logger::log($e->getMessage()); \Logger::log($e->getMessage());
throw new ImportException($e->getMessage()); throwException(new ImportException($e->getMessage()));
} }
} }

View File

@@ -24,6 +24,10 @@ class DynaformsMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try { try {
@@ -32,10 +36,9 @@ class DynaformsMigrator implements Importable, Exportable
} else { } else {
$this->processes->updateDynaformRows($data); $this->processes->updateDynaformRows($data);
} }
} catch (\Exception $e) { } catch (\Exception $e) {
\Logger::log($e->getMessage()); \Logger::log($e->getMessage());
throw new ImportException($e->getMessage()); throwException(new ImportException($e->getMessage()));
} }
} }

View File

@@ -29,34 +29,38 @@ class FilesMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
* @throws ImportException
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try { try {
$aTable = $data['TABLE']; $aTable = $data['TABLE'];
foreach ($aTable as $value) { foreach ($aTable as $value) {
if ($value['PRF_EDITABLE'] !== 1) {
if($value['PRF_EDITABLE'] !== 1){
if ($replace) { if ($replace) {
$this->processes->createFilesManager($value['PRO_UID'], array($value)); $this->processes->createFilesManager($value['PRO_UID'], array($value));
} else { } else {
$this->processes->updateFilesManager(array($value)); $this->processes->updateFilesManager($value['PRO_UID'], array($value));
} }
} }
} }
$aPath = $data['PATH']; $aPath = $data['PATH'];
foreach ($aPath as $target => $files) { foreach ($aPath as $target => $files) {
$basePath = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'public' . PATH_SEP; $basePath = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'public' . PATH_SEP;
if(strtoupper($target) === 'PUBLIC'){ if (strtoupper($target) === 'PUBLIC') {
foreach ($files as $file) { foreach ($files as $file) {
$filename = $basePath . ((isset($file["file_path"]))? $file["file_path"] : $file["filepath"]); $filename = $basePath . ((isset($file["file_path"])) ? $file["file_path"] : $file["filepath"]);
$path = dirname($filename); $path = dirname($filename);
if (!is_dir($path)) { if (!is_dir($path)) {
Util\Common::mk_dir($path, 0775); Util\Common::mk_dir($path, 0775);
} }
file_put_contents($filename, $file["file_content"]); file_put_contents($filename, $file["file_content"]);
chmod($filename, 0775); chmod($filename, 0775);
} }
} }
} }

View File

@@ -22,36 +22,37 @@ class GranularImporter
/** /**
* Load Objects List Selected * Load Objects List Selected
*/ */
public function loadObjectsListSelected($data, $aGranular) { public function loadObjectsListSelected($data, $aGranular)
{
$objectList = array(); $objectList = array();
if(in_array('PROCESSDEFINITION', $aGranular)){ if (in_array('PROCESSDEFINITION', $aGranular)) {
$objectList['PROCESSDEFINITION'] = $this->structureBpmnData($data['tables']['bpmn']); $objectList['PROCESSDEFINITION'] = $this->structureBpmnData($data['tables']['bpmn']);
} }
if(in_array('ASSIGNMENTRULES', $aGranular)){ if (in_array('ASSIGNMENTRULES', $aGranular)) {
$objectList['ASSIGNMENTRULES'] = $data['tables']['workflow']['tasks']; $objectList['ASSIGNMENTRULES'] = $data['tables']['workflow']['tasks'];
} }
if(in_array('VARIABLES', $aGranular)){ if (in_array('VARIABLES', $aGranular)) {
$objectList['VARIABLES'] = $data['tables']['workflow']['processVariables']; $objectList['VARIABLES'] = $data['tables']['workflow']['processVariables'];
} }
if(in_array('DYNAFORMS', $aGranular)){ if (in_array('DYNAFORMS', $aGranular)) {
$objectList['DYNAFORMS'] = $data['tables']['workflow']['dynaforms']; $objectList['DYNAFORMS'] = $data['tables']['workflow']['dynaforms'];
} }
if(in_array('INPUTDOCUMENTS', $aGranular)){ if (in_array('INPUTDOCUMENTS', $aGranular)) {
$objectList['INPUTDOCUMENTS'] = $data['tables']['workflow']['inputs']; $objectList['INPUTDOCUMENTS'] = $data['tables']['workflow']['inputs'];
} }
if(in_array('OUTPUTDOCUMENTS', $aGranular)){ if (in_array('OUTPUTDOCUMENTS', $aGranular)) {
$objectList['OUTPUTDOCUMENTS'] = $data['tables']['workflow']['outputs']; $objectList['OUTPUTDOCUMENTS'] = $data['tables']['workflow']['outputs'];
} }
if(in_array('TRIGGERS', $aGranular)){ if (in_array('TRIGGERS', $aGranular)) {
$objectList['TRIGGERS'] = $data['tables']['workflow']['triggers']; $objectList['TRIGGERS'] = $data['tables']['workflow']['triggers'];
} }
if(in_array('TEMPLATES', $aGranular)){ if (in_array('TEMPLATES', $aGranular)) {
$objectList['TEMPLATES']['TABLE'] = $data['tables']['workflow']['filesManager']; $objectList['TEMPLATES']['TABLE'] = $data['tables']['workflow']['filesManager'];
$objectList['TEMPLATES']['PATH'] = $data['files']['workflow']; $objectList['TEMPLATES']['PATH'] = $data['files']['workflow'];
} }
if(in_array('FILES', $aGranular)){ if (in_array('FILES', $aGranular)) {
$objectList['FILES']['TABLE'] = $data['tables']['workflow']['filesManager']; $objectList['FILES']['TABLE'] = $data['tables']['workflow']['filesManager'];
$objectList['FILES']['PATH'] = $data['files']['workflow']; $objectList['FILES']['PATH'] = $data['files']['workflow'];
} }
return $objectList; return $objectList;
} }
@@ -59,21 +60,22 @@ class GranularImporter
/** /**
* Update the structure from File * Update the structure from File
*/ */
public function structureBpmnData(array $tables){ public function structureBpmnData(array $tables)
{
$project = $tables["project"][0]; $project = $tables["project"][0];
$diagram = $tables["diagram"][0]; $diagram = $tables["diagram"][0];
$diagram["activities"] = (isset($tables["activity"])) ? $tables["activity"] : array(); $diagram["activities"] = (isset($tables["activity"])) ? $tables["activity"] : array();
$diagram["artifacts"] = (isset($tables["artifact"])) ? $tables["artifact"] : array(); $diagram["artifacts"] = (isset($tables["artifact"])) ? $tables["artifact"] : array();
$diagram["events"] = (isset($tables["event"])) ? $tables["event"] : array(); $diagram["events"] = (isset($tables["event"])) ? $tables["event"] : array();
$diagram["flows"] = (isset($tables["flow"])) ? $tables["flow"] : array(); $diagram["flows"] = (isset($tables["flow"])) ? $tables["flow"] : array();
$diagram["gateways"] = (isset($tables["gateway"])) ? $tables["gateway"] : array(); $diagram["gateways"] = (isset($tables["gateway"])) ? $tables["gateway"] : array();
$diagram["data"] = (isset($tables["data"]))? $tables["data"] : array(); $diagram["data"] = (isset($tables["data"])) ? $tables["data"] : array();
$diagram["participants"] = (isset($tables["participant"]))? $tables["participant"] : array(); $diagram["participants"] = (isset($tables["participant"])) ? $tables["participant"] : array();
$diagram["laneset"] = (isset($tables["laneset"]))? $tables["laneset"] : array(); $diagram["laneset"] = (isset($tables["laneset"])) ? $tables["laneset"] : array();
$diagram["lanes"] = (isset($tables["lane"]))? $tables["lane"] : array(); $diagram["lanes"] = (isset($tables["lane"])) ? $tables["lane"] : array();
$project["diagrams"] = array($diagram); $project["diagrams"] = array($diagram);
$project["prj_author"] = isset($this->data["usr_uid"])? $this->data["usr_uid"]: "00000000000000000000000000000001"; $project["prj_author"] = isset($this->data["usr_uid"]) ? $this->data["usr_uid"] : "00000000000000000000000000000001";
$project["process"] = $tables["process"][0]; $project["process"] = $tables["process"][0];
return $project; return $project;
} }
@@ -85,7 +87,7 @@ class GranularImporter
try { try {
foreach ($objectList as $key => $data) { foreach ($objectList as $key => $data) {
$objClass = $this->factory->create($key); $objClass = $this->factory->create($key);
if(is_object($objClass)) { if (is_object($objClass)) {
$migratorData = $objClass->import($data); $migratorData = $objClass->import($data);
} }
} }

View File

@@ -25,6 +25,10 @@ class InputDocumentsMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try { try {
@@ -33,10 +37,9 @@ class InputDocumentsMigrator implements Importable, Exportable
} else { } else {
$this->processes->updateInputRows($data); $this->processes->updateInputRows($data);
} }
} catch (\Exception $e) { } catch (\Exception $e) {
\Logger::log($e->getMessage()); \Logger::log($e->getMessage());
throw new ImportException($e->getMessage()); throwException(new ImportException($e->getMessage()));
} }
} }

View File

@@ -27,6 +27,10 @@ class OutputDocumentsMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try { try {
@@ -35,10 +39,9 @@ class OutputDocumentsMigrator implements Importable, Exportable
} else { } else {
$this->processes->updateOutputRows($data); $this->processes->updateOutputRows($data);
} }
} catch (\Exception $e) { } catch (\Exception $e) {
\Logger::log($e->getMessage()); \Logger::log($e->getMessage());
throw new ImportException($e->getMessage()); throwException(new ImportException($e->getMessage()));
} }
} }

View File

@@ -26,9 +26,22 @@ class PermissionsMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try {
if ($replace) {
$this->processes->createObjectPermissionsRows($data);
} else {
$this->processes->updateObjectPermissionRows($data);
}
} catch (\Exception $e) {
\Logger::log($e->getMessage());
throwException(new ImportException($e->getMessage()));
}
} }
public function afterImport($data) public function afterImport($data)

View File

@@ -81,7 +81,8 @@ class ProcessDefinitionMigrator implements Importable, Exportable
$oData->tasks = $this->processes->getTaskRows($prj_uid); $oData->tasks = $this->processes->getTaskRows($prj_uid);
$oDataTask = new \StdClass(); $oDataTask = new \StdClass();
$oDataTask->taskusers = $this->processes->getTaskUserRows( $oData->tasks ); $oDataTask->taskusers = $this->getTaskUserRows($oData->tasks);
$oData->routes = $this->processes->getRouteRows($prj_uid); $oData->routes = $this->processes->getRouteRows($prj_uid);
$oData->lanes = $this->processes->getLaneRows($prj_uid); $oData->lanes = $this->processes->getLaneRows($prj_uid);
$oData->gateways = $this->processes->getGatewayRows($prj_uid); $oData->gateways = $this->processes->getGatewayRows($prj_uid);

View File

@@ -25,9 +25,23 @@ class ReportTablesMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try {
$aReportTablesVars = array();
if ($replace) {
$this->processes->createReportTables($data, $aReportTablesVars);
} else {
$this->processes->updateReportTables($data, $aReportTablesVars);
}
} catch (\Exception $e) {
\Logger::log($e->getMessage());
throwException(new ImportException($e->getMessage()));
}
} }
public function afterImport($data) public function afterImport($data)

View File

@@ -26,9 +26,22 @@ class SupervisorsMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try {
if ($replace) {
$this->processes->createProcessUser($data);
} else {
$this->processes->updateProcessUser($data);
}
} catch (\Exception $e) {
\Logger::log($e->getMessage());
throwException(new ImportException($e->getMessage()));
}
} }
public function afterImport($data) public function afterImport($data)

View File

@@ -25,9 +25,22 @@ class SupervisorsObjectsMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try {
if ($replace) {
$this->processes->createStepSupervisorRows($data);
} else {
$this->processes->updateStepSupervisorRows($data);
}
} catch (\Exception $e) {
\Logger::log($e->getMessage());
throwException(new ImportException($e->getMessage()));
}
} }
public function afterImport($data) public function afterImport($data)

View File

@@ -27,22 +27,30 @@ class TemplatesMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
* @throws ImportException
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try { try {
//TABLE
$aTable = $data['TABLE']; $aTable = $data['TABLE'];
foreach ($aTable as $value) { foreach ($aTable as $value) {
if($value['PRF_EDITABLE'] === 1){ if ($value['PRF_EDITABLE'] === 1) {
$this->processes->createFilesManager($value['PRO_UID'],array($value)); if ($replace) {
$this->processes->createFilesManager($value['PRO_UID'], array($value));
} else {
$this->processes->updateFilesManager($value['PRO_UID'], array($value));
}
} }
} }
$aPath = $data['PATH']; $aPath = $data['PATH'];
foreach ($aPath as $target => $files) { foreach ($aPath as $target => $files) {
$basePath = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'mailTemplates' . PATH_SEP; $basePath = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'mailTemplates' . PATH_SEP;
if(strtoupper($target) === 'TEMPLATES'){ if (strtoupper($target) === 'TEMPLATES') {
foreach ($files as $file) { foreach ($files as $file) {
$filename = $basePath . ((isset($file["file_path"]))? $file["file_path"] : $file["filepath"]); $filename = $basePath . ((isset($file["file_path"])) ? $file["file_path"] : $file["filepath"]);
$path = dirname($filename); $path = dirname($filename);
if (!is_dir($path)) { if (!is_dir($path)) {

View File

@@ -27,6 +27,10 @@ class TriggersMigrator implements Importable, Exportable
// TODO: Implement beforeImport() method. // TODO: Implement beforeImport() method.
} }
/**
* @param $data
* @param $replace
*/
public function import($data, $replace) public function import($data, $replace)
{ {
try { try {
@@ -35,7 +39,6 @@ class TriggersMigrator implements Importable, Exportable
} else { } else {
$this->processes->updateTriggerRows($data); $this->processes->updateTriggerRows($data);
} }
} catch (\Exception $e) { } catch (\Exception $e) {
\Logger::log($e->getMessage()); \Logger::log($e->getMessage());
throwException(new ImportException($e->getMessage())); throwException(new ImportException($e->getMessage()));

View File

@@ -29,8 +29,9 @@ class VariablesMigrator implements Importable, Exportable
} }
/** /**
* Imports the process variables
* @param $data * @param $data
* @param $replace
* @throws ImportException
*/ */
public function import($data, $replace) public function import($data, $replace)
{ {