BUG 9585 In the Process Designer/Process Supervisor there is an option that reads...SOLVED

- The steps for supervisor was not working, and the outputs option was no configuration in the ProcessMap

- Fix the steps for the supervisors and the option outputs was deleted until the option was added in the ProcessMap designer (new feature)
This commit is contained in:
Julio Cesar Laura
2012-08-10 09:18:46 -04:00
parent 5a0c967620
commit 046cd41318
6 changed files with 209 additions and 63 deletions

View File

@@ -41,7 +41,7 @@ G::LoadClass('case');
$o = new Cases();
$PRO_UID = '';
$PRO_UID = $_SESSION['PROCESS'];
$treeArray = array();
//if (isset($_GET['action'])&&$_GET['action']=='test'){
@@ -52,7 +52,8 @@ $treeArray = array();
$APP_UID = $_GET['APP_UID'];
$DEL_INDEX = $_GET['DEL_INDEX'];
$steps = $o->getAllDynaformsStepsToRevise($_GET['APP_UID']);
foreach ($steps as $step) {
$steps->next();
while ($step = $steps->getRow()) {
require_once 'classes/model/Dynaform.php';
$od = new Dynaform();
$dynaformF = $od->Load($step['STEP_UID_OBJ']);
@@ -60,10 +61,10 @@ $treeArray = array();
$n = $step['STEP_POSITION'];
$TITLE = " - ".$dynaformF['DYN_TITLE'];
$DYN_UID = $dynaformF['DYN_UID'];
$PRO_UID = $step['PRO_UID'];
$href = "cases_StepToRevise?type=DYNAFORM&ex=$i&PRO_UID=$PRO_UID&DYN_UID=$DYN_UID&APP_UID=$APP_UID&position=".$step['STEP_POSITION']."&DEL_INDEX=$DEL_INDEX";
$extTreeDynaforms->add(new TreeNode($DYN_UID,$TITLE,"datasource",true,false,$href,"openCaseFrame"));
$i++;
$steps->next();
}
echo $extTreeDynaforms->toJson();
// end the dynaforms tree menu
@@ -74,8 +75,8 @@ $treeArray = array();
$APP_UID = $_GET['APP_UID'];
$DEL_INDEX = $_GET['DEL_INDEX'];
$steps = $o->getAllInputsStepsToRevise($_GET['APP_UID']);
//$i=1;
foreach ($steps as $step) {
$steps->next();
while ($step = $steps->getRow()) {
require_once 'classes/model/InputDocument.php';
$od = new InputDocument();
$IDF = $od->Load($step['STEP_UID_OBJ']);
@@ -83,20 +84,10 @@ $treeArray = array();
$n = $step['STEP_POSITION'];
$TITLE = " - ".$IDF['INP_DOC_TITLE'];
$INP_DOC_UID = $IDF['INP_DOC_UID'];
$PRO_UID = $step['PRO_UID'];
$href = "cases_StepToReviseInputs?type=INPUT_DOCUMENT&ex=$i&PRO_UID=$PRO_UID&INP_DOC_UID=$INP_DOC_UID&APP_UID=$APP_UID&position=".$step['STEP_POSITION']."&DEL_INDEX=$DEL_INDEX";
$extTreeInputDocs->add(new TreeNode($INP_DOC_UID,$TITLE,"datasource",true,false,$href,"openCaseFrame"));
$i++;
$steps->next();
}
echo $extTreeInputDocs->toJson();
// end of the tree assembling input documents list
echo ",";
$i=0;
$APP_UID = $_GET['APP_UID'];
$DEL_INDEX = $_GET['DEL_INDEX'];
$outputHref = "cases_StepToReviseOutputs?ex=$i&PRO_UID=$PRO_UID&DEL_INDEX=$DEL_INDEX&APP_UID=$APP_UID";
$ouputItem = new TreeNode ("node-output-documents",G::loadtranslation('ID_OUTPUT_DOCUMENTS'),"",true,false,$outputHref,"openCaseFrame");
echo $ouputItem->toJson();
echo "]";
echo "]";

View File

@@ -0,0 +1,51 @@
<?php
/**
* cases_DeleteDocumentToRevise.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
/* Permissions */
switch ($RBAC->userCanAccess('PM_CASES'))
{
case -2:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
case -1:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
}
/* Includes */
require_once ( "classes/model/AppDocumentPeer.php" );
G::LoadClass('case');
/* GET , POST & $_SESSION Vars */
/* Process the info */
$oAppDocument = new AppDocument();
$oAppDocument->remove($_GET['DOC']);
/* Redirect */
G::header('location: ' . $_SERVER['HTTP_REFERER']);

View File

@@ -105,24 +105,8 @@ if (isset($_GET['type'])) {
$sType = '';
}
try {
$aNextStep = $oCase->getNextSupervisorStep($_SESSION['PROCESS'], $_SESSION['STEP_POSITION'], $sType);
$aPreviousStep = $oCase->getPreviousSupervisorStep($_SESSION['PROCESS'], $_SESSION['STEP_POSITION'], $sType);
} catch (exception $e) {
G::SendTemporalMessage($e->getMessage(), 'error', 'string');
}
if (!$aPreviousStep) {
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = '';
} else {
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = 'cases_StepToRevise?type=DYNAFORM&DYN_UID='.
$aPreviousStep['UID'].'&position='.$aPreviousStep['POSITION'].'&APP_UID='.$_GET['APP_UID'].'&DEL_INDEX='.
$_GET['DEL_INDEX'];
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = G::loadTranslation("ID_PREVIOUS_STEP");
}
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP'] = 'cases_StepToRevise?type=DYNAFORM&DYN_UID='.$aNextStep['UID'].
'&position='.$aNextStep['POSITION'].'&APP_UID='.$_GET['APP_UID'].'&DEL_INDEX='.$_GET['DEL_INDEX'];
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = '';
$Fields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = '';
/** Added By erik
@@ -147,7 +131,6 @@ if (!isset($_GET['ex'])) {
}
?>
<script>
/*------------------------------ To Revise Routines ---------------------------*/
// DEPRECATED this JS section is marked for removal
@@ -166,6 +149,4 @@ function setSelect()
return 0;
}
}
</script>
</script>

View File

@@ -102,26 +102,6 @@ if (!isset($_GET['INP_DOC_UID'])) {
} else {
$oInputDocument = new InputDocument();
$Fields = $oInputDocument->load($_GET['INP_DOC_UID']);
//Obtain previous and next step - Start
try {
$aNextStep = $oCase->getNextSupervisorStep($_SESSION['PROCESS'], $_SESSION['STEP_POSITION'], $_GET['type']);
$aPreviousStep = $oCase->getPreviousSupervisorStep($_SESSION['PROCESS'], $_SESSION['STEP_POSITION'],
$_GET['type']);
if (!$aPreviousStep) {
$Fields['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = '';
} else {
$Fields['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] =
'cases_StepToReviseInputs?type=INPUT_DOCUMENT&INP_DOC_UID='. $aNextStep['UID'].'&position='.
$aNextStep['POSITION'].'&APP_UID='.$_GET['APP_UID'].'&DEL_INDEX='. $_GET['DEL_INDEX'];
$Fields['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = G::loadTranslation("ID_PREVIOUS_STEP");
}
$Fields['__DYNAFORM_OPTIONS']['NEXT_STEP'] = 'cases_StepToReviseInputs?type=INPUT_DOCUMENT&INP_DOC_UID='.
$aNextStep['UID'].'&position='.$aNextStep['POSITION'].'&APP_UID='.$_GET['APP_UID'].'&DEL_INDEX='.
$_GET['DEL_INDEX'];
} catch (exception $e) {
//
}
switch ($Fields['INP_DOC_FORM_NEEDED']) {
case 'REAL':
$Fields['TYPE_LABEL'] = G::LoadTranslation('ID_NEW');
@@ -139,12 +119,10 @@ if (!isset($_GET['INP_DOC_UID'])) {
$Fields['MESSAGE1'] = G::LoadTranslation('ID_PLEASE_ENTER_COMMENTS');
$Fields['MESSAGE2'] = G::LoadTranslation('ID_PLEASE_SELECT_FILE');
$docName = $Fields['INP_DOC_TITLE'];
$Fields['NEXT_STEP_LABEL'] = G::loadtranslation('ID_NEXT_STEP');
$Fields['PREVIOUS_STEP_LABEL'] = G::loadtranslation('ID_PREVIOUS_STEP');
$oHeadPublisher->addScriptCode('var documentName=\'Reviewing Input Document<br>'.$docName.'\';');
// $G_PUBLISH->AddContent('xmlform', 'xmlform', $sXmlForm, '', $Fields, 'cases_SupervisorSaveDocument?UID=' .
//$_GET['INP_DOC_UID'] . '&APP_UID=' . $_GET['APP_UID'] . '&position=' . $_GET['position']);
$G_PUBLISH->AddContent('propeltable', 'cases/paged-table-inputDocuments', 'cases/cases_ToReviseInputdocsList',
$G_PUBLISH->AddContent('propeltable', 'cases/paged-table-inputDocumentsToRevise', 'cases/cases_ToReviseInputdocsList',
$oCase->getInputDocumentsCriteria($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_GET['INP_DOC_UID']),
array_merge(array('DOC_UID'=>$_GET['INP_DOC_UID']),$Fields));
//$aFields

View File

@@ -0,0 +1,145 @@
<!-- START BLOCK : headBlock -->
<table cellpadding="0" cellspacing="0" border="0"><tr><td>
<div class="boxTop"><div class="a"></div><div class="b"></div><div class="c"></div></div>
<div class="pagedTableDefault">
<table id="pagedtable[{pagedTable_Id}]" name="pagedtable[{pagedTable_Name}]" border="0" cellspacing="0" cellpadding="0" class="Default">
<tr >
<td valign="top">
<div style="width:100%">
<span class='subtitle'>{title}</span>
<center><span id="mainlabel" class="SelectedMenu"></span></center><br/>
<table cellspacing="0" cellpadding="0" width="100%" border="0">
<!-- START BLOCK : headerBlock -->
<tr><td class="headerContent">{content}</td></tr>
<!-- END BLOCK : headerBlock -->
</table>
<table id="table[{pagedTable_Id}]" name="table[{pagedTable_Name}]" cellspacing="0" cellpadding="0" width="100%" class="pagedTable">
<!-- END BLOCK : headBlock -->
<!-- START BLOCK : contentBlock -->
<script type="text/javascript">{pagedTable_JS}</script>
<tr>
<!-- START BLOCK : headers -->
<td class="pagedTableHeader"><img style="{displaySeparator}" src="/js/maborak/core/images/separatorTable.gif" /></td>
<td width="{width}" style="{align}" class="pagedTableHeader" >
<a href="{href}" onclick="{onclick}{onsort}">{header}</a>
</td>
<!-- END BLOCK : headers -->
</tr>
<!-- START IGNORE -->
<script type="text/javascript">
document.getElementById('mainlabel').innerHTML = documentName;
</script>
<!-- END IGNORE -->
<!-- START BLOCK : row -->
<!-- START BLOCK : rowMaster -->
<tr class='{masterRowClass}' id="{masterRowName}">
<!-- START BLOCK : fieldMaster -->
<td class="pagedTableHeader1"><a href="#" ><img src="/images/minus.gif" onClick="toggleMasterDetailGroup('table[{pagedTable_Name}]','{masterRowName}',this);return false;" border="0"></a><b>{value1}</b></td><td class="pagedTableHeader1" {alignAttr}><b>{value}</b>&nbsp;</td>
<!-- END BLOCK : fieldMaster -->
</tr>
<!-- END BLOCK : rowMaster -->
<tr class='{class}' onmouseover="setRowClass(this, 'RowPointer' )" onmouseout="setRowClass(this, '{class}')" name="{rowName}" id="{rowName}">
<!-- START BLOCK : field -->
<td{classAttr}></td><td{classAttr}{alignAttr}>{value}</td>
<!-- END BLOCK : field -->
</tr>
<!-- END BLOCK : row -->
<!-- START BLOCK : rowTag -->
<!-- END BLOCK : rowTag -->
<!-- START BLOCK : norecords -->
<tr class='Row2'>
<td nowrap colspan="{columnCount}" align='center' >&nbsp;
{noRecordsFound}<br>&nbsp;
</td>
</tr>
<!-- END BLOCK : norecords -->
<!-- START BLOCK : bottomFooter -->
<tr>
<td nowrap colspan="{columnCount}">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="pagedTableFooter">
<td width="110px" style="{indexStyle}">
{labels:ID_ROWS}&nbsp;{firstRow}-{lastRow}/{totalRows}&nbsp;
</td>
<!--<td style="text-align:center;{fastSearchStyle}"><!--{labels:ID_SEARCH}
<input type="text" class="FormField" onkeypress="if (event.keyCode===13){pagedTableId}.doFastSearch(this.value);if (event.keyCode===13)return false;" value="{fastSearchValue}" onfocus="this.select();" size="10" style="{fastSearchStyle}"/>
</td>-->
<td style="text-align:center;">
{first}{prev}{next}{last}
</td>
<td width="60px" style="text-align:right;padding-right:8px;{indexStyle}">{labels:ID_PAGE}&nbsp;{currentPage}/{totalPages}</td>
</tr>
</table>
</td>
</tr>
<!-- END BLOCK : bottomFooter -->
<!-- END BLOCK : contentBlock -->
<!-- START BLOCK : closeBlock -->
</table>
</td>
</tr>
</table>
</div>
<div class="boxBottom"><div class="a"></div><div class="b"></div><div class="c"></div></div>
</td></tr></table>
<!-- END BLOCK : closeBlock -->
<!-- START IGNORE -->
<script type="text/javascript">
function toggleMasterDetailGroup(tablename,groupName,imgicon){
groupNameArray=groupName.split(",");
table=getElementByName(tablename);
var rows = table.getElementsByTagName('tr');
for(i=0;i<rows.length;i++){
if(rows[i].id!=""){
currentRowArray=rows[i].id.split(",");
sw=false;
//alert(groupNameArray);
//alert(currentRowArray);
tempVar=currentRowArray[0].split("_MD_");
if(tempVar[0]==""){
if(currentRowArray.length>groupNameArray.length){
currentRowArray[0]=tempVar[1];
}
}
for(j=0;j<groupNameArray.length;j++){
if(currentRowArray[j]==groupNameArray[j]){
sw=true;
}else{
sw=false;
}
}
if(sw){
if (rows[i].style.display == '') {
rows[i].style.display = 'none';
imgicon.src="/images/plus_red.gif";
}else{
rows[i].style.display = '';
imgicon.src="/images/minus.gif";
}
}
}
}
}
document.getElementById('mainlabel').innerHTML = documentName;
</script>
<!-- END IGNORE -->

View File

@@ -37,6 +37,6 @@
<VERSION_HISTORY type="link" colWidth="1" value="@#VERSIONHISTORY_LABEL" link="javascript:inputDocumentVersionHistory(&#039;@#DOC_UID&#039;,&#039;@#APP_DOC_UID&#039;);"/>
<DELETE type="link" colWidth="25" value="@#ID_DELETE" link="cases_DeleteDocument?TYPE=INPUT&amp;DOC=@#APP_DOC_UID&amp;VERSION=@#DOC_VERSION" onclick="return confirm(&#039;@#CONFIRM&#039;);"><en></en></DELETE>
<DELETE type="link" colWidth="25" value="@#ID_DELETE" link="cases_DeleteDocumentToRevise?TYPE=INPUT&amp;DOC=@#APP_DOC_UID&amp;VERSION=@#DOC_VERSION" onclick="return confirm(&#039;@#CONFIRM&#039;);"><en></en></DELETE>
</dynaForm>