Merge remote-tracking branch 'upstream/MT-10' into MT-10
This commit is contained in:
@@ -3131,6 +3131,50 @@ class Processes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $sProUid
|
||||||
|
* @return mixed
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function getReportTables($sProUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
|
||||||
|
$additionalTables = new AdditionalTables();
|
||||||
|
$getalldditionalTables = $additionalTables->getReportTables($sProUid);
|
||||||
|
return $getalldditionalTables;
|
||||||
|
} catch (Exception $oError) {
|
||||||
|
throw $oError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $sProUid
|
||||||
|
* @return mixed
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function getReportTablesVar($sProUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$fieldsReportTables = array();
|
||||||
|
$additionalTables = new AdditionalTables();
|
||||||
|
$getalldditionalTables = $additionalTables->getReportTables($sProUid);
|
||||||
|
|
||||||
|
foreach ($getalldditionalTables as $row) {
|
||||||
|
$additionalTables->setAddTabUid($row['ADD_TAB_UID']);
|
||||||
|
$fieldsAdditionalTables = $additionalTables->getFields();
|
||||||
|
foreach ($fieldsAdditionalTables as $rowField) {
|
||||||
|
$rowField['ADD_TAB_UID'] = $row['ADD_TAB_UID'];
|
||||||
|
array_push($fieldsReportTables, $rowField);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $fieldsReportTables;
|
||||||
|
} catch (Exception $oError) {
|
||||||
|
throw $oError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Report Tables Vars Rows for a Process
|
* Get Report Tables Vars Rows for a Process
|
||||||
*
|
*
|
||||||
@@ -4045,6 +4089,29 @@ class Processes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create if the new Files Managers does not exist
|
||||||
|
*
|
||||||
|
* @param string $processUid Unique id of Process
|
||||||
|
* @param array $arrayData Data
|
||||||
|
*
|
||||||
|
* return void
|
||||||
|
*/
|
||||||
|
public function addNewFilesManager($processUid, array $arrayData)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$filesManager = new \ProcessMaker\BusinessModel\FilesManager();
|
||||||
|
|
||||||
|
foreach ($arrayData as $value) {
|
||||||
|
if(!$filesManager->existsProcessFile($value['PRF_UID'])){
|
||||||
|
$filesManager->addProcessFilesManagerInDb($value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $arrayData
|
* @param array $arrayData
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
|
|||||||
@@ -964,6 +964,31 @@ class AdditionalTables extends BaseAdditionalTables
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $proUid
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getReportTables($proUid)
|
||||||
|
{
|
||||||
|
$reportTables = array();
|
||||||
|
$oCriteria = new Criteria('workflow');
|
||||||
|
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID);
|
||||||
|
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_NAME);
|
||||||
|
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_DESCRIPTION);
|
||||||
|
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TYPE);
|
||||||
|
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_TAG);
|
||||||
|
$oCriteria->addSelectColumn(AdditionalTablesPeer::PRO_UID);
|
||||||
|
$oCriteria->addSelectColumn(AdditionalTablesPeer::DBS_UID);
|
||||||
|
$oCriteria->add(AdditionalTablesPeer::PRO_UID, $proUid, Criteria::EQUAL);
|
||||||
|
$dt = ContentPeer::doSelectRS($oCriteria);
|
||||||
|
$dt->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
|
while ($dt->next()) {
|
||||||
|
$row = $dt->getRow();
|
||||||
|
array_push($reportTables, $row);
|
||||||
|
}
|
||||||
|
return $reportTables;
|
||||||
|
}
|
||||||
|
|
||||||
public function getAll($start = 0, $limit = 20, $filter = '', $process = null)
|
public function getAll($start = 0, $limit = 20, $filter = '', $process = null)
|
||||||
{
|
{
|
||||||
$oCriteria = new Criteria('workflow');
|
$oCriteria = new Criteria('workflow');
|
||||||
|
|||||||
@@ -33,9 +33,7 @@ try {
|
|||||||
}
|
}
|
||||||
if (\BpmnProject::exists($_GET["pro_uid"]) && isset($_GET['objects'])) {
|
if (\BpmnProject::exists($_GET["pro_uid"]) && isset($_GET['objects'])) {
|
||||||
$_GET["objects"] = \G::json_decode($_GET['objects']);
|
$_GET["objects"] = \G::json_decode($_GET['objects']);
|
||||||
$exportObjects = new \ProcessMaker\BusinessModel\Migrator\ExportObjects();
|
if(sizeof($_GET['objects']) == 0 || '' == trim($_GET['objects']) ){
|
||||||
$getListObject = \G::json_decode($exportObjects->objectList());
|
|
||||||
if(sizeof($getListObject->data) === sizeof($_GET['objects'])){
|
|
||||||
$exporter = new ProcessMaker\Exporter\XmlExporter($_GET["pro_uid"]);
|
$exporter = new ProcessMaker\Exporter\XmlExporter($_GET["pro_uid"]);
|
||||||
$getProjectName = $exporter->truncateName($exporter->getProjectName(),false);
|
$getProjectName = $exporter->truncateName($exporter->getProjectName(),false);
|
||||||
|
|
||||||
|
|||||||
@@ -250,13 +250,13 @@ class FilesManager
|
|||||||
$aData = array_change_key_case($aData, CASE_UPPER);
|
$aData = array_change_key_case($aData, CASE_UPPER);
|
||||||
$oProcessFiles->fromArray($aData, \BasePeer::TYPE_FIELDNAME);
|
$oProcessFiles->fromArray($aData, \BasePeer::TYPE_FIELDNAME);
|
||||||
|
|
||||||
|
$sDirectory = PATH_DATA_MAILTEMPLATES . $aData['PRO_UID'] . PATH_SEP . basename($aData['PRF_PATH']);
|
||||||
|
$oProcessFiles->setPrfPath($sDirectory);
|
||||||
|
|
||||||
if($this->existsProcessFile($aData['PRF_UID'])) {
|
if($this->existsProcessFile($aData['PRF_UID'])) {
|
||||||
$sPkProcessFiles = \G::generateUniqueID();
|
$sPkProcessFiles = \G::generateUniqueID();
|
||||||
$oProcessFiles->setPrfUid($sPkProcessFiles);
|
$oProcessFiles->setPrfUid($sPkProcessFiles);
|
||||||
|
|
||||||
$sDirectory = PATH_DATA_MAILTEMPLATES . $aData['PRO_UID'] . PATH_SEP . basename($aData['PRF_PATH']);
|
|
||||||
$oProcessFiles->setPrfPath($sDirectory);
|
|
||||||
|
|
||||||
$emailEvent = new \ProcessMaker\BusinessModel\EmailEvent();
|
$emailEvent = new \ProcessMaker\BusinessModel\EmailEvent();
|
||||||
$emailEvent->updatePrfUid($aData['PRF_UID'], $sPkProcessFiles, $aData['PRO_UID']);
|
$emailEvent->updatePrfUid($aData['PRF_UID'], $sPkProcessFiles, $aData['PRO_UID']);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,8 +66,8 @@ class AssignmentRulesMigrator implements Importable, Exportable
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$oAssignRules = new \StdClass();
|
$oAssignRules = new \StdClass();
|
||||||
$oAssignRules->tasks = $this->processes->getTaskRows($prj_uid);
|
$oAssignRulesTasks = $this->processes->getTaskRows($prj_uid);
|
||||||
$oAssignRules->taskusers = $this->processes->getTaskUserRows($oAssignRules->tasks);
|
$oAssignRules->taskusers = $this->processes->getTaskUserRows($oAssignRulesTasks);
|
||||||
|
|
||||||
$result = array(
|
$result = array(
|
||||||
'workflow-definition' => (array)$oAssignRules
|
'workflow-definition' => (array)$oAssignRules
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class FilesMigrator implements Importable, Exportable
|
|||||||
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'] === '0') {
|
||||||
if ($replace) {
|
if ($replace) {
|
||||||
$this->processes->createFilesManager($value['PRO_UID'], array($value));
|
$this->processes->createFilesManager($value['PRO_UID'], array($value));
|
||||||
} else {
|
} else {
|
||||||
@@ -92,7 +92,7 @@ class FilesMigrator implements Importable, Exportable
|
|||||||
|
|
||||||
$fileHandler = new FileHandler();
|
$fileHandler = new FileHandler();
|
||||||
$arrayPublicFileToExclude = $fileHandler->getFilesToExclude($prj_uid);
|
$arrayPublicFileToExclude = $fileHandler->getFilesToExclude($prj_uid);
|
||||||
$workflowFile = $fileHandler->getTemplatesOrPublicFiles($prj_uid, $arrayPublicFileToExclude, 'public');
|
$workflowFile = $fileHandler->getTemplatesOrPublicFiles($prj_uid, $arrayPublicFileToExclude, 'PUBLIC');
|
||||||
|
|
||||||
$result = array(
|
$result = array(
|
||||||
'workflow-definition' => (array)$oData,
|
'workflow-definition' => (array)$oData,
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ class GranularImporter
|
|||||||
$objClass = $this->factory->create($data['name']);
|
$objClass = $this->factory->create($data['name']);
|
||||||
if (is_object($objClass)) {
|
if (is_object($objClass)) {
|
||||||
$dataImport = $data['data'][$data['name']];
|
$dataImport = $data['data'][$data['name']];
|
||||||
$replace = ($data['value'] == 'merge') ? true : false;
|
$replace = ($data['value'] == 'replace') ? true : false;
|
||||||
$migratorData = $objClass->import($dataImport, $replace);
|
$migratorData = $objClass->import($dataImport, $replace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,10 +68,8 @@ class ProcessDefinitionMigrator implements Importable, Exportable
|
|||||||
$bpmnStruct["LANESET"] = \BpmnLaneset::getAll($prj_uid);
|
$bpmnStruct["LANESET"] = \BpmnLaneset::getAll($prj_uid);
|
||||||
$bpmnStruct["PARTICIPANT"] = \BpmnParticipant::getAll($prj_uid);
|
$bpmnStruct["PARTICIPANT"] = \BpmnParticipant::getAll($prj_uid);
|
||||||
$bpmnStruct["PROCESS"] = \BpmnProcess::getAll($prj_uid);
|
$bpmnStruct["PROCESS"] = \BpmnProcess::getAll($prj_uid);
|
||||||
$bpmnStruct["PROJECT"] = array(\BpmnProjectPeer::retrieveByPK($prj_uid)->toArray());
|
|
||||||
|
|
||||||
$oData = new \StdClass();
|
$oData = new \StdClass();
|
||||||
$oData->process = $this->processes->getProcessRow($prj_uid, false);
|
|
||||||
$oData->tasks = $this->processes->getTaskRows($prj_uid);
|
$oData->tasks = $this->processes->getTaskRows($prj_uid);
|
||||||
|
|
||||||
$oDataTask = new \StdClass();
|
$oDataTask = new \StdClass();
|
||||||
@@ -83,7 +81,6 @@ class ProcessDefinitionMigrator implements Importable, Exportable
|
|||||||
$oData->steps = $this->processes->getStepRows($prj_uid);
|
$oData->steps = $this->processes->getStepRows($prj_uid);
|
||||||
$oData->groupwfs = $this->processes->getGroupwfRows($oDataTask->taskusers);
|
$oData->groupwfs = $this->processes->getGroupwfRows($oDataTask->taskusers);
|
||||||
$oData->steptriggers = $this->processes->getStepTriggerRows($oData->tasks);
|
$oData->steptriggers = $this->processes->getStepTriggerRows($oData->tasks);
|
||||||
$oData->reportTablesVars = $this->processes->getReportTablesVarsRows($prj_uid);
|
|
||||||
$oData->subProcess = $this->processes->getSubProcessRow($prj_uid);
|
$oData->subProcess = $this->processes->getSubProcessRow($prj_uid);
|
||||||
$oData->caseTracker = $this->processes->getCaseTrackerRow($prj_uid);
|
$oData->caseTracker = $this->processes->getCaseTrackerRow($prj_uid);
|
||||||
$oData->caseTrackerObject = $this->processes->getCaseTrackerObjectRow($prj_uid);
|
$oData->caseTrackerObject = $this->processes->getCaseTrackerObjectRow($prj_uid);
|
||||||
|
|||||||
@@ -56,7 +56,8 @@ class ReportTablesMigrator implements Importable, Exportable
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$oData = new \StdClass();
|
$oData = new \StdClass();
|
||||||
$oData->reportTables = $this->processes->getReportTablesRows($prj_uid);
|
$oData->reportTables = $this->processes->getReportTables($prj_uid);
|
||||||
|
$oData->reportTablesVars = $this->processes->getReportTablesVar($prj_uid);
|
||||||
|
|
||||||
$result = array(
|
$result = array(
|
||||||
'workflow-definition' => (array)$oData
|
'workflow-definition' => (array)$oData
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class TemplatesMigrator implements Importable, Exportable
|
|||||||
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 {
|
||||||
@@ -43,7 +43,7 @@ class TemplatesMigrator implements Importable, Exportable
|
|||||||
$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) === 'TEMPLATE') {
|
||||||
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);
|
||||||
|
|||||||
@@ -58,9 +58,7 @@ class TriggersMigrator implements Importable, Exportable
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$oData = new \StdClass();
|
$oData = new \StdClass();
|
||||||
$oDataTasks = $this->processes->getTaskRows($prj_uid);
|
|
||||||
$oData->triggers = $this->processes->getTriggerRows($prj_uid);
|
$oData->triggers = $this->processes->getTriggerRows($prj_uid);
|
||||||
$oData->steptriggers = $this->processes->getStepTriggerRows($oDataTasks);
|
|
||||||
|
|
||||||
$result = array(
|
$result = array(
|
||||||
'workflow-definition' => (array)$oData
|
'workflow-definition' => (array)$oData
|
||||||
|
|||||||
@@ -173,8 +173,12 @@ abstract class Importer
|
|||||||
if($objectsToImport === ''){
|
if($objectsToImport === ''){
|
||||||
$this->removeProject();
|
$this->removeProject();
|
||||||
} else {
|
} else {
|
||||||
if(in_array('PROCESSDEFINITION', $objectsToImport)){
|
$granularObj = new \ProcessMaker\BusinessModel\Migrator\GranularImporter();
|
||||||
$this->removeProject();
|
$objectList = $granularObj->loadObjectsListSelected($this->importData, $objectsToImport);
|
||||||
|
foreach ($objectList as $rowObject) {
|
||||||
|
if($rowObject['name'] === 'PROCESSDEFINITION'){
|
||||||
|
$this->removeProject();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$name = $this->currentProcessTitle;
|
$name = $this->currentProcessTitle;
|
||||||
|
|||||||
@@ -356,14 +356,31 @@ Ext.onReady(function(){
|
|||||||
},{
|
},{
|
||||||
xtype: 'tbseparator'
|
xtype: 'tbseparator'
|
||||||
},{
|
},{
|
||||||
|
xtype: "tbsplit",
|
||||||
id: "export",
|
id: "export",
|
||||||
disabled: true,
|
disabled: true,
|
||||||
text: _("ID_EXPORT"),
|
text: _("ID_EXPORT"),
|
||||||
iconCls: "silk-add",
|
iconCls: "silk-add",
|
||||||
icon: "/images/export.png",
|
icon: "/images/export.png",
|
||||||
handler: function () {
|
menu: [
|
||||||
exportImportProcessObjects('export');
|
{
|
||||||
}
|
text: _("ID_NORMAL_EXPORT"),
|
||||||
|
iconCls: "silk-add",
|
||||||
|
icon: "",
|
||||||
|
handler: function ()
|
||||||
|
{
|
||||||
|
exportProcess();
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
text: _("ID_GRANULAR_EXPORT"),
|
||||||
|
iconCls: "silk-add",
|
||||||
|
icon: "",
|
||||||
|
handler: function ()
|
||||||
|
{
|
||||||
|
exportImportProcessObjects('export');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
},{
|
},{
|
||||||
text: _('ID_IMPORT'),
|
text: _('ID_IMPORT'),
|
||||||
iconCls: 'silk-add',
|
iconCls: 'silk-add',
|
||||||
@@ -519,9 +536,27 @@ Ext.onReady(function(){
|
|||||||
{
|
{
|
||||||
text: _("ID_EXPORT"),
|
text: _("ID_EXPORT"),
|
||||||
icon: "/images/export.png",
|
icon: "/images/export.png",
|
||||||
handler: function ()
|
menu: {
|
||||||
{
|
showSeparator: false,
|
||||||
exportImportProcessObjects('export');
|
items: [
|
||||||
|
{
|
||||||
|
text: _("ID_NORMAL_EXPORT"),
|
||||||
|
iconCls: "silk-add",
|
||||||
|
icon: "",
|
||||||
|
handler: function ()
|
||||||
|
{
|
||||||
|
exportProcess();
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
text: _("ID_GRANULAR_EXPORT"),
|
||||||
|
iconCls: "silk-add",
|
||||||
|
icon: "",
|
||||||
|
handler: function ()
|
||||||
|
{
|
||||||
|
exportImportProcessObjects('export');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -922,7 +957,9 @@ function exportProcess() {
|
|||||||
var record = processesGrid.getSelectionModel().getSelections();
|
var record = processesGrid.getSelectionModel().getSelections();
|
||||||
|
|
||||||
if(record.length == 1) {
|
if(record.length == 1) {
|
||||||
Ext.getCmp('exportProcessObjectsWindow').close();
|
if(Ext.getCmp('exportProcessObjectsWindow')) {
|
||||||
|
Ext.getCmp('exportProcessObjectsWindow').close();
|
||||||
|
}
|
||||||
var myMask = new Ext.LoadMask(Ext.getBody(), {msg: _("ID_LOADING")});
|
var myMask = new Ext.LoadMask(Ext.getBody(), {msg: _("ID_LOADING")});
|
||||||
var proUid = record[0].get("PRO_UID");
|
var proUid = record[0].get("PRO_UID");
|
||||||
|
|
||||||
@@ -2088,6 +2125,8 @@ function openWindowIfIE(pathDesigner) {
|
|||||||
Ext.getCmp('windowBpmnOptionWindow').close();
|
Ext.getCmp('windowBpmnOptionWindow').close();
|
||||||
if (Ext.getCmp('changeOrKeepUidsWindow'))
|
if (Ext.getCmp('changeOrKeepUidsWindow'))
|
||||||
Ext.getCmp('changeOrKeepUidsWindow').close();
|
Ext.getCmp('changeOrKeepUidsWindow').close();
|
||||||
|
if (Ext.getCmp('exportProcessObjectsWindow'))
|
||||||
|
Ext.getCmp('exportProcessObjectsWindow').close();
|
||||||
processesGrid.store.reload();
|
processesGrid.store.reload();
|
||||||
nameTab = PM.Sessions.getCookie('PM-TabPrimary') + '_winDesigner';
|
nameTab = PM.Sessions.getCookie('PM-TabPrimary') + '_winDesigner';
|
||||||
if (winDesigner && winDesigner.closed === false) {
|
if (winDesigner && winDesigner.closed === false) {
|
||||||
|
|||||||
Reference in New Issue
Block a user