classic processes: Does not work Subprocess Properties
This commit is contained in:
william barra
2016-10-20 14:40:35 -04:00
parent a2a8473d80
commit ba72b270da
2 changed files with 58 additions and 39 deletions

View File

@@ -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'<hr>';print_r($_DBArray['NewCase']);print'<hr>';
$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 "<hr>".$aRow['TASKS']."<hr>";
//$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 '<hr>';print_r($aRow);
global $G_PUBLISH;
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_subProcess', '', $aRow, 'processes_subProcessSave');

View File

@@ -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();