0018094: Batch routing doesn-t work in ProcessMaker 3.0.x
This commit is contained in:
dheeyi
2015-08-24 18:14:08 -04:00
parent 2585cb9933
commit c85356b0f9
4 changed files with 358 additions and 327 deletions

View File

@@ -88,7 +88,7 @@ class ConsolidatedCases
$json = G::json_decode($dataDyna["DYN_CONTENT"]);
$fieldsDyna = $json->items[0]->items;
foreach ($fieldsDyna as $value) {
$_POST['form']['FIELDS'][] = $value[0]->name . '-' . $value[0]->type;
$_POST['form']['FIELDS'][] = ($value[0]->type !== 'panel') ? $value[0]->name . '-' . $value[0]->type : $value[0]->id . '-' . $value[0]->type;
}
$aFieldsClases = array();
@@ -176,16 +176,21 @@ class ConsolidatedCases
$oCaseConsolidated->setTasUid($sTasUid);
}
$criteria = new Criteria();
$criteria->addSelectColumn(CaseConsolidatedCorePeer::TAS_UID);
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $sTasUid);
$rsCriteria = CaseConsolidatedCorePeer::doSelectRS($criteria);
if ($rsCriteria->next()) {
$criteria = new Criteria();
$criteria->addSelectColumn(CaseConsolidatedCorePeer::TAS_UID);
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $sTasUid);
$rsCriteria = CaseConsolidatedCorePeer::doSelectRS($criteria);
if ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$oCaseConsolidated->delete();
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
}
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidatedCore') {
$oCaseConsolidated = new CaseConsolidatedCore();
$oCaseConsolidated->setTasUid($sTasUid);
}
$oCaseConsolidated->setConStatus('ACTIVE');
$oCaseConsolidated->setDynUid($sDynUid);
$oCaseConsolidated->setRepTabUid($sRepTabUid);

View File

@@ -597,6 +597,21 @@ class ajax_con extends WebResource
$oCaseConsolidated->setTasUid($sTasUid);
}
$criteria = new Criteria();
$criteria->addSelectColumn(CaseConsolidatedCorePeer::TAS_UID);
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $sTasUid);
$rsCriteria = CaseConsolidatedCorePeer::doSelectRS($criteria);
if ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$oCaseConsolidated->delete();
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
}
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidatedCore') {
$oCaseConsolidated = new CaseConsolidatedCore();
$oCaseConsolidated->setTasUid($sTasUid);
}
if ($sStatus == '1') {
$oCaseConsolidated->setConStatus('ACTIVE');
} else {

View File

@@ -83,18 +83,18 @@ class Consolidated
if (!isset($Fields["DEL_INIT_DATE"])) {
$oCase->setDelInitDate($app_uid, $del_index);
$aFields = $oCase->loadCase($app_uid, $del_index);
//Update data grid
$aData = $aFields['APP_DATA'];
foreach ($aData as $k => $dataField) {
if(is_array($dataField)){
$pos = count($dataField);
if(isset($aData[$k][$pos][$fieldName])){
$aData[$k][$pos][$fieldName] = $fieldValue;
}
}
}
$aFields['APP_DATA'] = $aData;
$oCase->updateCase($app_uid, $aFields);
//Update data grid
$aData = $aFields['APP_DATA'];
foreach ($aData as $k => $dataField) {
if(is_array($dataField)){
$pos = count($dataField);
if(isset($aData[$k][$pos][$fieldName])){
$aData[$k][$pos][$fieldName] = $fieldValue;
}
}
}
$aFields['APP_DATA'] = $aData;
$oCase->updateCase($app_uid, $aFields);
//End update
}
@@ -394,7 +394,9 @@ class Consolidated
foreach ($aTaskConsolidated as $key => $val) {
foreach ($val as $iKey => $iVal) {
if (self::checkValidDate($iVal)) {
$val[$iKey] = str_replace("-", "/", $val[$iKey]);
$iKeyView = str_replace("-", "/", $val[$iKey]);
$iKeyView = str_replace("T", " ", $iKeyView);
$val[$iKey] = $iKeyView;
}
}
$response["data"][] = $val;
@@ -465,7 +467,7 @@ class Consolidated
$xmlfrm = new \stdclass();
$xmlfrm->fields = array();
foreach ($fieldsDyna as $key => $value) {
if ($value[0]->type == 'title' || $value[0]->type == 'submit') {
if ($value[0]->type == 'title' || $value[0]->type == 'submit' || $value[0]->type == 'panel' || $value[0]->type == 'image' || $value[0]->type == 'button' || $value[0]->type == 'grid' || $value[0]->type == 'checkgroup' || $value[0]->type == 'radiogroup' || $value[0]->type == 'radio' || $value[0]->type == 'hidden' || $value[0]->type == 'link' || $value[0]->type == 'file' || $value[0]->type == 'subform') {
continue;
}
$temp = new \stdclass();
@@ -478,7 +480,7 @@ class Consolidated
if (!empty($value[0]->options)) {
$temp->storeData = '[';
foreach ($value[0]->options as $valueOption) {
$temp->storeData .= '["' . $valueOption['value'] . '", "' . $valueOption['label'] . '"],';
$temp->storeData .= '["' . $valueOption->value . '", "' . $valueOption->label . '"],';
}
$temp->storeData = substr($temp->storeData,0,-1);
$temp->storeData .= ']';
@@ -528,12 +530,12 @@ class Consolidated
$required = (isset($field->required))? $field->required : null;
$validate = (isset($field->validate))? strtolower($field->validate) : null;
$fieldReadOnly = ($readOnly . "" == "1")? "readOnly: true," : null;
$fieldReadOnly = ($readOnly . "" == "1" || $field->readOnly == 'view')? "readOnly: true," : null;
$fieldRequired = ($required . "" == "1")? "allowBlank: false," : null;
$fieldValidate = ($validate == "alpha" || $validate == "alphanum" || $validate == "email" || $validate == "int" || $validate == "real")? "vtype: \"$validate\"," : null;
$fieldLabel = (($fieldRequired != null)? "<span style='color: red;'>&#42;</span> ": null) . $field->label;
$fieldDisabled = ($field->mode != "edit")? "true" : "false";
$fieldDisabled = ($field->mode == "view")? "true" : "false";
switch ($field->type) {
case "dropdown":
@@ -633,7 +635,7 @@ class Consolidated
return Ext.isDate(value)? value.dateFormat('{$dateFormat}') : value;
} *";
if ($field->mode != "edit") {
if ($field->mode == "view") {
$editor = null;
}
@@ -735,6 +737,33 @@ class Consolidated
$hasTextArea = true;
break;
case "datetime":
$align = "center";
$size = 100;
if (isset($field->size)) {
$size = $field->size * 10;
}
$width = $size;
$editor = "* new Ext.form.DateField({
format: \"$dateFormat\",
$fieldReadOnly
$fieldRequired
$fieldValidate
cls: \"\"
}) *";
//$renderer = "* formatDate *";
$renderer = "* function (value){
return Ext.isDate(value)? value.dateFormat('{$dateFormat}') : value;
} *";
$caseColumns[] = array("header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)($width), "editor" => $editor, "renderer" => $renderer, "frame" => true, "clicksToEdit" => 1, "sortable" => true);
$caseReaderFields[] = array("name" => $field->name, "type" => "date");
break;
case "link":
$align = 'center';
$size = 100;

File diff suppressed because it is too large Load Diff