Adding adapters for Workflow->Bpmn and Bpmn->Workflow projects, and more updates & fixes
This commit is contained in:
@@ -39,64 +39,63 @@ class ProcessProxy extends HttpProxyController
|
||||
{
|
||||
$projectType = empty($_GET['type']) ? 'classicProject' : $_GET['type'];
|
||||
|
||||
require_once 'classes/model/Task.php';
|
||||
G::LoadClass( 'processMap' );
|
||||
$oProcessMap = new ProcessMap();
|
||||
|
||||
$httpData->PRO_TITLE = trim( $httpData->PRO_TITLE );
|
||||
|
||||
try {
|
||||
if (! isset( $httpData->PRO_UID )) {
|
||||
if (Process::existsByProTitle( $httpData->PRO_TITLE )) {
|
||||
$result = array ('success' => false,'msg' => G::LoadTranslation( 'ID_SAVE_PROCESS_ERROR' ),'errors' => array ('PRO_TITLE' => G::LoadTranslation( 'ID_PROCESSTITLE_ALREADY_EXISTS', SYS_LANG, Array ('PRO_TITLE' => $httpData->PRO_TITLE
|
||||
) )
|
||||
)
|
||||
);
|
||||
print G::json_encode( $result );
|
||||
exit( 0 );
|
||||
}
|
||||
|
||||
$processData['USR_UID'] = $_SESSION['USER_LOGGED'];
|
||||
$processData['PRO_TITLE'] = $httpData->PRO_TITLE;
|
||||
$processData['PRO_DESCRIPTION'] = $httpData->PRO_DESCRIPTION;
|
||||
$processData['PRO_CATEGORY'] = $httpData->PRO_CATEGORY;
|
||||
|
||||
$sProUid = $oProcessMap->createProcess( $processData );
|
||||
|
||||
//call pluginsx
|
||||
$oData['PRO_UID'] = $sProUid;
|
||||
$oData['PRO_TEMPLATE'] = isset( $httpData->PRO_TEMPLATE ) && $httpData->PRO_TEMPLATE != '' ? $httpData->PRO_TEMPLATE : '';
|
||||
$oData['PROCESSMAP'] = $oProcessMap;
|
||||
|
||||
$oPluginRegistry = & PMPluginRegistry::getSingleton();
|
||||
$oPluginRegistry->executeTriggers( PM_NEW_PROCESS_SAVE, $oData );
|
||||
$data = (array) $httpData;
|
||||
$data['PRO_CREATE_USER'] = $_SESSION['USER_LOGGED'];
|
||||
|
||||
if ($projectType == "classicProject") {
|
||||
$project = new ProcessMaker\Project\Workflow($data);
|
||||
} else {
|
||||
//$oProcessMap->updateProcess($_POST['form']);
|
||||
$sProUid = $httpData->PRO_UID;
|
||||
$project = new ProcessMaker\Project\Adapter\WorkflowBpmn($data);
|
||||
}
|
||||
|
||||
//Save Calendar ID for this process
|
||||
if (isset( $httpData->PRO_CALENDAR )) {
|
||||
G::LoadClass( "calendar" );
|
||||
$calendarObj = new Calendar();
|
||||
$calendarObj->assignCalendarTo( $sProUid, $httpData->PRO_CALENDAR, 'PROCESS' );
|
||||
}
|
||||
$sProUid = $project->getUid();
|
||||
|
||||
// Creating BPMN Project Layer
|
||||
if ($projectType == 'bpmnProject') {
|
||||
$bpmnModel = new ProcessMaker\Adapter\Bpmn\Model();
|
||||
$replaceUids = false;
|
||||
|
||||
$data = array(
|
||||
'PRJ_UID' => $sProUid,
|
||||
'PRJ_NAME' => $httpData->PRO_TITLE,
|
||||
'PRJ_DESCRIPTION' => $httpData->PRO_DESCRIPTION,
|
||||
'PRJ_CATEGORY' => $httpData->PRO_CATEGORY
|
||||
);
|
||||
|
||||
$result = $bpmnModel->createProject($data, $replaceUids);
|
||||
}
|
||||
// require_once 'classes/model/Task.php';
|
||||
// G::LoadClass( 'processMap' );
|
||||
// $oProcessMap = new ProcessMap();
|
||||
//
|
||||
// $httpData->PRO_TITLE = trim( $httpData->PRO_TITLE );
|
||||
//
|
||||
// try {
|
||||
// if (! isset( $httpData->PRO_UID )) {
|
||||
// if (Process::existsByProTitle( $httpData->PRO_TITLE )) {
|
||||
// $result = array ('success' => false,'msg' => G::LoadTranslation( 'ID_SAVE_PROCESS_ERROR' ),'errors' => array ('PRO_TITLE' => G::LoadTranslation( 'ID_PROCESSTITLE_ALREADY_EXISTS', SYS_LANG, Array ('PRO_TITLE' => $httpData->PRO_TITLE
|
||||
// ) )
|
||||
// )
|
||||
// );
|
||||
// print G::json_encode( $result );
|
||||
// exit( 0 );
|
||||
// }
|
||||
//
|
||||
// $processData['USR_UID'] = $_SESSION['USER_LOGGED'];
|
||||
// $processData['PRO_TITLE'] = $httpData->PRO_TITLE;
|
||||
// $processData['PRO_DESCRIPTION'] = $httpData->PRO_DESCRIPTION;
|
||||
// $processData['PRO_CATEGORY'] = $httpData->PRO_CATEGORY;
|
||||
//
|
||||
// $sProUid = $oProcessMap->createProcess( $processData );
|
||||
//
|
||||
// //call pluginsx
|
||||
// $oData['PRO_UID'] = $sProUid;
|
||||
// $oData['PRO_TEMPLATE'] = isset( $httpData->PRO_TEMPLATE ) && $httpData->PRO_TEMPLATE != '' ? $httpData->PRO_TEMPLATE : '';
|
||||
// $oData['PROCESSMAP'] = $oProcessMap;
|
||||
//
|
||||
// $oPluginRegistry = & PMPluginRegistry::getSingleton();
|
||||
// $oPluginRegistry->executeTriggers( PM_NEW_PROCESS_SAVE, $oData );
|
||||
//
|
||||
// } else {
|
||||
// //$oProcessMap->updateProcess($_POST['form']);
|
||||
// $sProUid = $httpData->PRO_UID;
|
||||
// }
|
||||
//
|
||||
// //Save Calendar ID for this process
|
||||
// if (isset( $httpData->PRO_CALENDAR )) {
|
||||
// G::LoadClass( "calendar" );
|
||||
// $calendarObj = new Calendar();
|
||||
// $calendarObj->assignCalendarTo( $sProUid, $httpData->PRO_CALENDAR, 'PROCESS' );
|
||||
// }
|
||||
//
|
||||
|
||||
$this->success = true;
|
||||
$this->PRO_UID = $sProUid;
|
||||
|
||||
Reference in New Issue
Block a user