PM-31
Refactor output document / 0016759: Output Document pmGrids 0016760: Output Document Variables Se agrego "Grid variables" a las opciones de Type Variable en el pmVariablePicker, que despliega los campos de las grillas que tiene en el proceso
This commit is contained in:
@@ -373,11 +373,11 @@ class XmlForm_Field_hours extends XmlForm_Field_SimpleText
|
|||||||
* @param eter boolean $bSystemVars
|
* @param eter boolean $bSystemVars
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
function getDynaformsVars ($sProcessUID, $bSystemVars = true, $bIncMulSelFields = 0)
|
function getDynaformsVars ($sProcessUID, $typeVars = 'all', $bIncMulSelFields = 0)
|
||||||
{
|
{
|
||||||
$aFields = array ();
|
$aFields = array ();
|
||||||
$aFieldsNames = array ();
|
$aFieldsNames = array ();
|
||||||
if ($bSystemVars) {
|
if ($typeVars == 'system' || $typeVars == 'all') {
|
||||||
$aAux = G::getSystemConstants();
|
$aAux = G::getSystemConstants();
|
||||||
foreach ($aAux as $sName => $sValue) {
|
foreach ($aAux as $sName => $sValue) {
|
||||||
$aFields[] = array ('sName' => $sName,'sType' => 'system','sLabel' => G::LoadTranslation('ID_TINY_SYSTEM_VARIABLES'));
|
$aFields[] = array ('sName' => $sName,'sType' => 'system','sLabel' => G::LoadTranslation('ID_TINY_SYSTEM_VARIABLES'));
|
||||||
@@ -401,21 +401,52 @@ function getDynaformsVars ($sProcessUID, $bSystemVars = true, $bIncMulSelFields
|
|||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
$row = $oDataset->getRow();
|
$row = $oDataset->getRow();
|
||||||
if (isset($row["PRJ_UID"])) {
|
if (isset($row["PRJ_UID"])) {
|
||||||
$oCriteria = new Criteria('workflow');
|
if($typeVars == 'process' || $typeVars == 'all') {
|
||||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_UID);
|
$oCriteria = new Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_NAME);
|
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_UID);
|
||||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_FIELD_TYPE);
|
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_NAME);
|
||||||
$oCriteria->add(ProcessVariablesPeer::PRJ_UID, $sProcessUID);
|
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_FIELD_TYPE);
|
||||||
$oDataset = DynaformPeer::doSelectRS($oCriteria);
|
$oCriteria->add(ProcessVariablesPeer::PRJ_UID, $sProcessUID);
|
||||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
$oDataset = DynaformPeer::doSelectRS($oCriteria);
|
||||||
while ($oDataset->next()) {
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
$row = $oDataset->getRow();
|
while ($oDataset->next()) {
|
||||||
array_push($aFields, array(
|
$row = $oDataset->getRow();
|
||||||
"sName" => $row["VAR_NAME"],
|
array_push($aFields, array(
|
||||||
"sType" => $row["VAR_FIELD_TYPE"],
|
"sName" => $row["VAR_NAME"],
|
||||||
"sLabel" => $row["VAR_NAME"] . " [" . $row["VAR_FIELD_TYPE"] . "]"
|
"sType" => $row["VAR_FIELD_TYPE"],
|
||||||
));
|
"sLabel" => $row["VAR_NAME"] . " [" . $row["VAR_FIELD_TYPE"] . "]"
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($typeVars == 'grid' || $typeVars == 'all') {
|
||||||
|
$oC = new Criteria( 'workflow' );
|
||||||
|
$oC->addSelectColumn( DynaformPeer::DYN_CONTENT );
|
||||||
|
$oC->add( DynaformPeer::PRO_UID, $sProcessUID );
|
||||||
|
$oC->add( DynaformPeer::DYN_TYPE, 'xmlform' );
|
||||||
|
$oData = DynaformPeer::doSelectRS( $oC );
|
||||||
|
$oData->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||||
|
$oData->next();
|
||||||
|
while ($aRowd = $oData->getRow()) {
|
||||||
|
$dynaform = G::json_decode($aRowd['DYN_CONTENT'],true);
|
||||||
|
$items = $dynaform['items'][0]['items'];
|
||||||
|
foreach($items as $key => $val){
|
||||||
|
if($val[0]['type'] == 'grid'){
|
||||||
|
if(sizeof($val[0]['columns'])) {
|
||||||
|
$columns = $val[0]['columns'];
|
||||||
|
foreach($columns as $column) {
|
||||||
|
array_push($aFields, array(
|
||||||
|
"sName" => $column['name'],
|
||||||
|
"sType" => $column['dataType'],
|
||||||
|
"sLabel" => $column['name'] . " [" . $column['dataType']. "]"
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$oData->next();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
require_once 'classes/model/Dynaform.php';
|
require_once 'classes/model/Dynaform.php';
|
||||||
$oCriteria = new Criteria( 'workflow' );
|
$oCriteria = new Criteria( 'workflow' );
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ $html .= '<select name="type_variables" id="type_variables">';
|
|||||||
$html .= '<option value="all">'.$filter->xssFilterHard(G::LoadTranslation( 'ID_TINY_ALL_VARIABLES' )).'</option>';
|
$html .= '<option value="all">'.$filter->xssFilterHard(G::LoadTranslation( 'ID_TINY_ALL_VARIABLES' )).'</option>';
|
||||||
$html .= '<option value="system">'.$filter->xssFilterHard(G::LoadTranslation( 'ID_TINY_SYSTEM_VARIABLES' )).'</option>';
|
$html .= '<option value="system">'.$filter->xssFilterHard(G::LoadTranslation( 'ID_TINY_SYSTEM_VARIABLES' )).'</option>';
|
||||||
$html .= '<option value="process">'.$filter->xssFilterHard(G::LoadTranslation( 'ID_TINY_PROCESS_VARIABLES' )).'</option>';
|
$html .= '<option value="process">'.$filter->xssFilterHard(G::LoadTranslation( 'ID_TINY_PROCESS_VARIABLES' )).'</option>';
|
||||||
|
$html .= '<option value="grid">'.$filter->xssFilterHard(G::LoadTranslation( 'ID_TINY_GRID_VARIABLES' )).'</option>';
|
||||||
$html .= '</select> ';
|
$html .= '</select> ';
|
||||||
$html .= '</td>';
|
$html .= '</td>';
|
||||||
|
|
||||||
|
|||||||
@@ -806,15 +806,21 @@ try {
|
|||||||
G::LoadClass('xmlfield_InputPM');
|
G::LoadClass('xmlfield_InputPM');
|
||||||
$proUid = isset($_REQUEST['process']) ? $_REQUEST['process'] : '';
|
$proUid = isset($_REQUEST['process']) ? $_REQUEST['process'] : '';
|
||||||
$queryText = isset($_REQUEST['queryText']) ? $_REQUEST['queryText'] : '';
|
$queryText = isset($_REQUEST['queryText']) ? $_REQUEST['queryText'] : '';
|
||||||
if ($_REQUEST['type'] == 'system') {
|
switch($_REQUEST['type']) {
|
||||||
$isSystem = true;
|
case 'system';
|
||||||
} else {
|
$typeVars = $_REQUEST['type'];
|
||||||
$isSystem = false;
|
break;
|
||||||
|
case 'process';
|
||||||
|
$typeVars = $_REQUEST['type'];
|
||||||
|
break;
|
||||||
|
case 'grid';
|
||||||
|
$typeVars = $_REQUEST['type'];
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if ($_REQUEST['type'] == 'all') {
|
if ($_REQUEST['type'] == 'all') {
|
||||||
$aFields = getDynaformsVars($proUid);
|
$aFields = getDynaformsVars($proUid);
|
||||||
} else {
|
} else {
|
||||||
$aFields = getDynaformsVars($proUid, $isSystem, isset($_REQUEST['bIncMulSelFields']) ? $_REQUEST['bIncMulSelFields'] : 1);
|
$aFields = getDynaformsVars($proUid, $typeVars, isset($_REQUEST['bIncMulSelFields']) ? $_REQUEST['bIncMulSelFields'] : 1);
|
||||||
}
|
}
|
||||||
$aVariables = array();
|
$aVariables = array();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user