diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index 17b48250e..daf461c3c 100644 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -1533,16 +1533,16 @@ class processMap $oCriteria->setDistinct(); $oCriteria->addSelectColumn(DynaformPeer::DYN_UID); $oCriteria->addSelectColumn(ContentPeer::CON_VALUE); - + $aConditions = array(); $aConditions[] = array(DynaformPeer::DYN_UID, ContentPeer::CON_ID); $aConditions[] = array(ContentPeer::CON_CATEGORY, $del . "DYN_TITLE" . $del); $aConditions[] = array(ContentPeer::CON_LANG, $del . "en" . $del); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); - + $oCriteria->add(DynaformPeer::PRO_UID, $_SESSION["PROCESS"]); $oCriteria->add(DynaformPeer::DYN_TYPE, "grid"); - + $oCriteria->addAscendingOrderByColumn(ContentPeer::CON_VALUE); $numRows = DynaformPeer::doCount($oCriteria); @@ -2499,8 +2499,8 @@ class processMap // echo $sql; // var_dump($aRow); // die(); - - + + if (is_array($aRow)) { $aFields['ROU_TYPE'] = $aRow['ROU_TYPE']; $aFields['ROU_TYPE_OLD'] = $aRow['ROU_TYPE']; @@ -2585,7 +2585,7 @@ class processMap throw new Exception(G::loadTranslation('ID_INVALID_ROU_TYPE_DEFINITION_ON_ROUTE_TABLE')); break; } - + } else { throw new Exception(G::loadTranslation('ID_NO_DERIVATIONS_DEFINED')); } @@ -4616,13 +4616,11 @@ class processMap * @param string $sProcessUID * @param string $sTaskUID * @param string $sIndex - * @return void throw Exception $oError - * @throw Exception $oError + * @throws Exception */ public function subProcess_Properties($sProcessUID = '', $sTaskUID = '', $sIndex = '') { try { - //echo "$sProcessUID = '', $sTaskUID = '', $sIndex = ''"; $SP_VARIABLES_OUT = array(); $SP_VARIABLES_IN = array(); @@ -4631,21 +4629,29 @@ class processMap $_DBArray = (isset($_SESSION['_DBArray']) ? $_SESSION['_DBArray'] : ''); $_DBArray['NewCase'] = $this->subProcess_TaskIni($sProcessUID); unset($_DBArray['TheProcesses']); - $_DBArray['TheProcesses'][] = array('pro_uid' => 'char', 'value' => 'char' ); + $_DBArray['TheProcesses'][] = array('pro_uid' => 'char', 'value' => 'char'); $i = 0; foreach ($_DBArray['NewCase'] as $aRow) { if ($i > 0) { - $_DBArray['TheProcesses'][] = array('pro_uid' => $aRow['pro_uid'] . '_' . $i, 'value' => $aRow['value'] ); + $_DBArray['TheProcesses'][] = array('pro_uid' => $aRow['pro_uid'] . '_' . $i, 'value' => $aRow['value']); } $i++; } - //print'
';print_r($_DBArray['NewCase']);print'
'; $oCriteria = new Criteria('workflow'); - $del = DBAdapter::getStringDelimiter(); + $oCriteria->addSelectColumn(SubProcessPeer::SP_UID); + $oCriteria->addSelectColumn(SubProcessPeer::PRO_UID); $oCriteria->addSelectColumn(TaskPeer::TAS_UID); $oCriteria->addSelectColumn(TaskPeer::TAS_TITLE); + $oCriteria->addSelectColumn(SubProcessPeer::PRO_PARENT); + $oCriteria->addSelectColumn(SubProcessPeer::TAS_PARENT); + $oCriteria->addSelectColumn(SubProcessPeer::SP_TYPE); + $oCriteria->addSelectColumn(SubProcessPeer::SP_SYNCHRONOUS); + $oCriteria->addSelectColumn(SubProcessPeer::SP_SYNCHRONOUS_TYPE); + $oCriteria->addSelectColumn(SubProcessPeer::SP_SYNCHRONOUS_WAIT); $oCriteria->addSelectColumn(SubProcessPeer::SP_VARIABLES_OUT); - $oCriteria->add(SubProcessPeer::PRO_PARENT, $sProcessUID); + $oCriteria->addSelectColumn(SubProcessPeer::SP_VARIABLES_IN); + $oCriteria->addSelectColumn(SubProcessPeer::SP_GRID_IN); + $oCriteria->addSelectColumn(SubProcessPeer::TAS_UID); $oCriteria->add(SubProcessPeer::PRO_PARENT, $sProcessUID); $oCriteria->add(SubProcessPeer::TAS_PARENT, $sTaskUID); $oCriteria->addJoin(SubProcessPeer::TAS_PARENT, TaskPeer::TAS_UID); @@ -4653,10 +4659,7 @@ class processMap $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); - $aRow['TASKS'] = $aRow['TAS_UID']; - //print "
".$aRow['TASKS']."
"; - //$aRow['SPROCESS_NAME'] = $aRow['TAS_TITLE']; $aRow['SPROCESS_NAME'] = $aRow['TAS_TITLE']; $SP_VARIABLES_OUT = unserialize($aRow['SP_VARIABLES_OUT']); if (is_array($SP_VARIABLES_OUT)) { @@ -4678,7 +4681,6 @@ class processMap } } $aRow['INDEX'] = $sIndex; - //print '
';print_r($aRow); global $G_PUBLISH; $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_subProcess', '', $aRow, 'processes_subProcessSave'); diff --git a/workflow/engine/methods/processes/processes_subProcessSave.php b/workflow/engine/methods/processes/processes_subProcessSave.php index 603f19d9d..cf21f0da6 100644 --- a/workflow/engine/methods/processes/processes_subProcessSave.php +++ b/workflow/engine/methods/processes/processes_subProcessSave.php @@ -23,22 +23,22 @@ */ global $RBAC; -$access = $RBAC->userCanAccess( 'PM_FACTORY' ); +$access = $RBAC->userCanAccess('PM_FACTORY'); if ($access != 1) { switch ($access) { - case - 1: - G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); - G::header( 'location: ../login/login' ); + case -1: + G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); + G::header('location: ../login/login'); die(); break; - case - 2: - G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); - G::header( 'location: ../login/login' ); + case -2: + G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); + G::header('location: ../login/login'); die(); break; default: - G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); - G::header( 'location: ../login/login' ); + G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); + G::header('location: ../login/login'); die(); break; } @@ -47,13 +47,13 @@ if ($access != 1) { //print_r($_POST); die; -$out = array (); -for ($i = 1; $i <= count( $_POST['form']['grid1'] ); $i ++) { +$out = array(); +for ($i = 1; $i <= count($_POST['form']['grid1']); $i++) { $out[$_POST['form']['grid1'][$i]['VAR_OUT1']] = $_POST['form']['grid1'][$i]['VAR_OUT2']; } -$in = array (); -for ($j = 1; $j <= count( $_POST['form']['grid2'] ); $j ++) { +$in = array(); +for ($j = 1; $j <= count($_POST['form']['grid2']); $j++) { $in[$_POST['form']['grid2'][$j]['VAR_IN1']] = $_POST['form']['grid2'][$j]['VAR_IN2']; } @@ -61,30 +61,47 @@ require_once 'classes/model/Task.php'; $oTask = new Task(); //$aTask=$oTask->load($_POST['form']['TASKS']); //$aTask=$oTask->load($_POST['form']['PRO_UID']); -$aTask = ($_POST['form']['TASKS'] != 0) ? $oTask->load( $_POST['form']['TASKS'] ) : 0; +$aTask = ($_POST['form']['TASKS'] != 0) ? $oTask->load($_POST['form']['TASKS']) : 0; //$aTask['PRO_UID']=0; -if (isset( $_POST['form']['SP_SYNCHRONOUS'] ) && $_POST['form']['SP_SYNCHRONOUS'] == '') { +if (isset($_POST['form']['SP_SYNCHRONOUS']) && $_POST['form']['SP_SYNCHRONOUS'] == '') { $_POST['form']['SP_SYNCHRONOUS'] = '0'; } -if (! isset( $_POST['form']['SP_SYNCHRONOUS'] )) { +if (!isset($_POST['form']['SP_SYNCHRONOUS'])) { $_POST['form']['SP_SYNCHRONOUS'] = '0'; } require_once 'classes/model/SubProcess.php'; $oOP = new SubProcess(); -$aData = array ('SP_UID' => $_POST['form']['SP_UID'],//G::generateUniqueID(), -'PRO_UID' => (isset( $aTask['PRO_UID'] )) ? $aTask['PRO_UID'] : '','TAS_UID' => $_POST['form']['TASKS'],'PRO_PARENT' => $_POST['form']['PRO_PARENT'],'TAS_PARENT' => $_POST['form']['TAS_PARENT'],'SP_TYPE' => 'SIMPLE','SP_SYNCHRONOUS' => $_POST['form']['SP_SYNCHRONOUS'],'SP_SYNCHRONOUS_TYPE' => 'ALL','SP_SYNCHRONOUS_WAIT' => 0,'SP_VARIABLES_OUT' => serialize( $out ),'SP_VARIABLES_IN' => serialize( $in ),'SP_GRID_IN' => '' +$aData = array( + 'SP_UID' => $_POST['form']['SP_UID'], + 'PRO_UID' => (isset($aTask['PRO_UID'])) ? $aTask['PRO_UID'] : '', + 'TAS_UID' => $_POST['form']['TASKS'], + 'PRO_PARENT' => $_POST['form']['PRO_PARENT'], + 'TAS_PARENT' => $_POST['form']['TAS_PARENT'], + 'SP_TYPE' => 'SIMPLE', + 'SP_SYNCHRONOUS' => $_POST['form']['SP_SYNCHRONOUS'], + 'SP_SYNCHRONOUS_TYPE' => 'ALL', + 'SP_SYNCHRONOUS_WAIT' => 0, + 'SP_VARIABLES_OUT' => serialize($out), + 'SP_VARIABLES_IN' => serialize($in), + 'SP_GRID_IN' => '' ); -$oOP->update( $aData ); +$oOP->update($aData); + +$task = \TaskPeer::retrieveByPK($_POST['form']['TAS_PARENT']); +if (is_object($task)) { + $task->setTasTitle($_POST['form']['SPROCESS_NAME']); + $res = $task->save(); +} require_once 'classes/model/Content.php'; -$lang = defined( 'SYS_LANG' ) ? SYS_LANG : 'en'; +$lang = defined('SYS_LANG') ? SYS_LANG : 'en'; //$cont = Content::addContent( 'SP_TITLE', '', $_POST['form']['SP_UID'], $lang, $_POST['form']['SPROCESS_NAME'] ); -$cont = Content::addContent( 'TAS_TITLE', '', $_POST['form']['TAS_PARENT'], $lang, $_POST['form']['SPROCESS_NAME'] ); +$cont = Content::addContent('TAS_TITLE', '', $_POST['form']['TAS_PARENT'], $lang, $_POST['form']['SPROCESS_NAME']); //$cont = Content::addContent( 'TAS_TITLE', '', $_POST['form']['SP_UID'], $lang, $_POST['form']['SPROCESS_NAME'] ); //G::header('location: processes_Map?PRO_UID='. $_POST['form']['PRO_UID']); die();