diff --git a/workflow/engine/classes/class.library.php b/workflow/engine/classes/class.library.php
index d280fa1b6..f83935f83 100644
--- a/workflow/engine/classes/class.library.php
+++ b/workflow/engine/classes/class.library.php
@@ -10,12 +10,12 @@ class Library
$criteria = new Criteria("workflow");
//SELECT
- $criteria->addSelectColumn(CaseConsolidatedPeer::CON_STATUS);
+ $criteria->addSelectColumn(CaseConsolidatedCorePeer::CON_STATUS);
//FROM
//WHERE
- $criteria->add(CaseConsolidatedPeer::CON_STATUS, "ACTIVE");
+ $criteria->add(CaseConsolidatedCorePeer::CON_STATUS, "ACTIVE");
- $activeNumRec = CaseConsolidatedPeer::doCount($criteria);
+ $activeNumRec = CaseConsolidatedCorePeer::doCount($criteria);
//Number of records
$numRec = 0;
diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php
index 7dd4742f1..1b5521d1a 100755
--- a/workflow/engine/classes/class.processMap.php
+++ b/workflow/engine/classes/class.processMap.php
@@ -1545,7 +1545,7 @@ class processMap
}
if ($iForm == 8) {
- $oCaseConsolidated = CaseConsolidatedPeer::retrieveByPK($_SESSION["cDhTajE2T2lxSkhqMzZUTXVacWYyNcKwV3A4eWYybDdyb1p3"]["TAS_UID"]);
+ $oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($_SESSION["cDhTajE2T2lxSkhqMzZUTXVacWYyNcKwV3A4eWYybDdyb1p3"]["TAS_UID"]);
if ((is_object($oCaseConsolidated)) && get_class($oCaseConsolidated) == "CaseConsolidated") {
require_once ("classes/model/ReportTable.php");
diff --git a/workflow/engine/menus/cases.php b/workflow/engine/menus/cases.php
index 82274f2a4..2ebf51b92 100755
--- a/workflow/engine/menus/cases.php
+++ b/workflow/engine/menus/cases.php
@@ -32,16 +32,7 @@ G::LoadTranslation('ID_NEW_CASE'), '');
/*----------------------------------********---------------------------------*/
$licensedFeatures = & PMLicensedFeatures::getSingleton();
if ($licensedFeatures->verifyfeature('7TTeDBQeWRoZTZKYjh4eFpYUlRDUUEyVERPU3FxellWank=')) {
- //If plugin is active doesnot show the menu in Cases
- $pluginRegistry = & PMPluginRegistry::getSingleton ();
- $pluginDetail = $pluginRegistry->getPluginDetails("pmConsolidatedCL.php");
- $pluginEnabled = 0;
- if ($pluginDetail && $pluginDetail->enabled) {
- $pluginEnabled = 1;
- }
- if($pluginEnabled == 0){
- $G_TMP_MENU->AddIdRawOption('CONSOLIDATED_CASES', 'casesConsolidatedListExtJs?action=consolidated', 'Batch Routing', '');
- }
+ $G_TMP_MENU->AddIdRawOption('CONSOLIDATED_CASES', 'casesConsolidatedListExtJs?action=consolidated', 'Batch Routing', '');
}
/*----------------------------------********---------------------------------*/
@@ -108,5 +99,4 @@ if (count($dashBoardPages)>0) {
ucwords(strtolower($tabName)), '');
}
}
-}
-
+}
\ No newline at end of file
diff --git a/workflow/engine/methods/cases/casesConsolidatedListExtJs.php b/workflow/engine/methods/cases/casesConsolidatedListExtJs.php
index 9ce405b42..2861f4f95 100644
--- a/workflow/engine/methods/cases/casesConsolidatedListExtJs.php
+++ b/workflow/engine/methods/cases/casesConsolidatedListExtJs.php
@@ -105,16 +105,31 @@ while ($rsSql->next()) {
$grdTitle = htmlentities($proTitle . " / " . $tabTitle, ENT_QUOTES, "UTF-8");
$tabTitle = htmlentities(substr($proTitle, 0, 25) . ((strlen($proTitle) > 25)? "..." : null) . " / " . $tabTitle, ENT_QUOTES, "UTF-8");
- $arrayTabItem[] = "
- {
- title: \"$tabTitle\",
- listeners: {
- activate: function ()
- {
- generateGrid(\"$processUid\", \"$taskUid\", \"$dynaformUid\");
+ $oProcess = new Process();
+ $isBpmn = $oProcess->isBpmnProcess($processUid);
+ if($isBpmn){
+ $arrayTabItem[] = "
+ {
+ title: \"$tabTitle\",
+ listeners: {
+ activate: function ()
+ {
+ generateGrid(\"$processUid\", \"$taskUid\", \"$dynaformUid\");
+ }
}
- }
- }";
+ }";
+ }else{
+ $arrayTabItem[] = "
+ {
+ title: \"$tabTitle\",
+ listeners: {
+ activate: function ()
+ {
+ generateGridClassic(\"$processUid\", \"$taskUid\", \"$dynaformUid\");
+ }
+ }
+ }";
+ }
}
if (count($arrayTabItem) > 0) {
diff --git a/workflow/engine/methods/cases/proxyDataCombobox.php b/workflow/engine/methods/cases/proxyDataCombobox.php
new file mode 100755
index 000000000..d8ffc0f3f
--- /dev/null
+++ b/workflow/engine/methods/cases/proxyDataCombobox.php
@@ -0,0 +1,91 @@
+home = PATH_DYNAFORM;
+$G_FORM->parseFile($filename, SYS_LANG, true);
+
+G::LoadClass("case");
+G::LoadClass("pmFunctions");
+
+//Load the variables
+$oCase = new Cases();
+$sqlQuery = null;
+$array = array();
+$aFields = $oCase->loadCase($appUid);
+
+foreach ($G_FORM->fields as $key => $val) {
+ if ($fieldName == $val->name) {
+ if ($G_FORM->fields[$key]->sql != null) {
+ $sqlQuery = G::replaceDataField($G_FORM->fields[$key]->sql, $aFields ["APP_DATA"]);
+ }
+ //$coma = "";
+ //$data1 = "";
+ if (is_array($val->options)) {
+ foreach ($val->options as $key1 => $val1) {
+ $array[] = array("value" => $key1, "text" => $val1);
+ }
+ }
+ }
+}
+
+//echo ($sqlQuery);
+if ($sqlQuery != null) {
+ $aResult = executeQuery($sqlQuery);
+ //var_dump($aResult);
+ if ($aResult == "false" || $aResult == null) {
+ $aResult = array();
+ }
+} else {
+ $aResult = array();
+}
+//var_dump($aResult);
+$arrayTmp = array();
+foreach ($aResult as $field) {
+ $i = 0;
+
+ foreach ($field as $key => $value) {
+ if ($i == 0) {
+ $arrayTmp["value"] = $value;
+ if (count($field) == 1) {
+ $arrayTmp["text"]=$value;
+ }
+ }
+
+ if ($i == 1) {
+ $arrayTmp["text"] = $value;
+ }
+ $i++;
+ }
+ $array[] = $arrayTmp;
+}
+
+//var_dump($array);
+/*
+if ($appUid == "5662082864d4c536a5d2a73024245754") {
+ $array[] = array("value"=>"BO", "text"=>"Bolivia");
+ $array[] = array("value"=>"US", "text"=>"USA");
+ $array[] = array("value"=>"AR", "text"=>"Argentina");
+}
+else {
+ $array[] = array("value"=>"EC", "text" => "Ecuador");
+ $array[] = array("value"=>"RU", "text" => "Rusia");
+ $array[] = array("value"=>"DE", "text" => "Alemania");
+}
+*/
+
+$response["records"] = $array;
+
+echo G::json_encode($response);
+// echo "[" . json_encode($response) . "]";
+
diff --git a/workflow/engine/templates/cases/casesListConsolidated.js b/workflow/engine/templates/cases/casesListConsolidated.js
index d8f8332b9..9e6fffa84 100644
--- a/workflow/engine/templates/cases/casesListConsolidated.js
+++ b/workflow/engine/templates/cases/casesListConsolidated.js
@@ -706,6 +706,279 @@ function renderSummary (val, p, r) {
return summaryIcon;
};
+function generateGridClassic(proUid, tasUid, dynUid){
+
+ var pager = 20; //pageSize
+ var pagei = 0; //start
+ Ext.Ajax.request({
+ url: '../pmConsolidatedCL/proxyGenerateGrid',
+ success: function(response) {
+ //Obtenemos el column model y los reader fields de proxyGenerateGrid
+ var dataResponse = Ext.util.JSON.decode(response.responseText);
+ var viewConfigObject;
+ var textArea = dataResponse.hasTextArea;
+
+ if (textArea == false) {
+ viewConfigObject = { //forceFit: true
+ };
+ } else {
+ viewConfigObject = {
+ //forceFit:true,
+ enableRowBody:true,
+ showPreview:true,
+ getRowClass : function(record, rowIndex, p, store){
+ if (this.showPreview) {
+ p.body = '
';
+ return 'x-grid3-row-expanded';
+ }
+ return 'x-grid3-row-collapsed';
+ }
+ };
+ }
+
+ storeConsolidated = new Ext.data.Store({
+ id: "storeConsolidatedGrid",
+ remoteSort: true,
+ //definimos un proxy como un objeto de la clase HttpProxy
+ proxy: new Ext.data.HttpProxy({
+ url: "../pmConsolidatedCL/proxyConsolidated",
+ api: {
+ read: "../pmConsolidatedCL/proxyConsolidated",
+ //update: "../pmConsolidatedCL/proxySaveConsolidated"
+ update: "../pmConsolidatedCL/consolidatedUpdateAjax"
+ }
+ }),
+
+ //el data reader obtiene los reader fields de la consulta en ajax
+ reader: new Ext.data.JsonReader({
+ fields: dataResponse.readerFields,
+ totalProperty: "totalCount",
+ //successProperty: "success",
+ idProperty: "APP_UID",
+ root: "data",
+ messageProperty: "message"
+ }),
+
+ //el data writer es un objeto generico pero q permitira a futuro el escribir los datos al servidor mediante el proxy
+ writer: new Ext.data.JsonWriter({
+ encode: true,
+ writeAllFields: false
+ }), //<-- plug a DataWriter into the store just as you would a Reader
+ autoSave: true, //<-- false would delay executing create, update, destroy requests until specifically told to do so with some [save] buton.
+
+ //el ordenamiento para los campos posiblemente este tenga q ser el tercer dato obtenido del proxy dado q los listados son muy cambiantes de tarea en tarea
+ //sortInfo:{
+ // field: 'APP_CACHE_VIEW.APP_NUMBER',
+ // direction: "DESC"
+ //}
+
+ //,
+ listeners: { //
+ beforeload:function (store, options) { //
+ grdNumRows = 0; //
+ }, //
+
+ load:function (store, records, options) { //
+ grdNumRows = store.getCount(); //
+
+ consolidatedGrid.setDisabled(false);
+ } //
+ } //
+ });
+
+ var xColumns = dataResponse.columnModel;
+ xColumns.unshift(smodel);
+
+
+ var cm = new Ext.grid.ColumnModel(xColumns);
+ cm.config[2].renderer = renderTitle; //Case Number
+ cm.config[3].renderer = renderTitle; //Case Title
+ cm.config[4].renderer = renderSummary;//Case Summary
+
+ //generacion del grid basados en los atributos definidos con anterioridad
+ storeConsolidated.setBaseParam("limit", pager);
+ storeConsolidated.setBaseParam("start", pagei);
+ storeConsolidated.setBaseParam('tasUid', tasUid);
+ storeConsolidated.setBaseParam('dynUid', dynUid);
+ storeConsolidated.setBaseParam('proUid', proUid);
+ storeConsolidated.setBaseParam('dropList', Ext.util.JSON.encode(dataResponse.dropList));
+ storeConsolidated.load();
+
+ consolidatedGrid = new Ext.grid.EditorGridPanel({
+ id: gridId,
+ region: "center",
+
+ store: storeConsolidated,
+ cm: cm,
+ sm: smodel,
+ //autoHeight: true,
+
+ //height: pnlMain.getSize().height - pnlMain.getFrameHeight(), //
+ width: pnlMain.getSize().width, //
+ height: browserHeight - 35, //
+
+ layout: 'fit',
+ //plugins: filters,
+ viewConfig: viewConfigObject,
+
+ listeners: {
+ beforeedit: function (e) {
+ var selRow = Ext.getCmp(gridId).getSelectionModel().getSelected();
+
+ var swDropdown = 0;
+ for (var i = 0; i <= dataResponse.dropList.length - 1 && swDropdown == 0; i++) {
+ if (dataResponse.dropList[i] == e.field) {
+ swDropdown = 1;
+ }
+ }
+
+ var swYesNo = 0;
+ for (var i = 0; i <= dataResponse.comboBoxYesNoList.length - 1 && swYesNo == 0; i++) {
+ if (dataResponse.comboBoxYesNoList[i] == e.field) {
+ swYesNo = 1;
+ }
+ }
+
+ if (swDropdown == 1 && swYesNo == 0) {
+ storeAux = Ext.StoreMgr.get("store" + e.field + "_" + proUid);
+ storeAux.setBaseParam("appUid", selRow.data["APP_UID"]);
+ storeAux.setBaseParam("dynUid", dynUid);
+ storeAux.setBaseParam("proUid", proUid);
+ storeAux.setBaseParam("fieldName", e.field);
+ //currentFieldEdited = e.field;
+ storeAux.load();
+ }
+ },
+
+ afteredit: function (e) {
+ //var store = consolidatedGrid.getStore();
+
+ if (Ext.getCmp("chk_allColumn").checked) {
+ Ext.Msg.show({
+ title: "",
+ msg: "The modification will be applied to all rows in your selection.",
+ buttons: Ext.Msg.YESNO,
+ fn: function (btn) {
+ if (btn == "yes") {
+ //storeConsolidated.each(function (record) {
+ // record.set(e.field, e.value);
+ //});
+
+ consolidatedGrid.setDisabled(true);
+
+ var dataUpdate = "";
+ var strValue = "";
+ var sw = 0;
+
+ if (e.value instanceof Date) {
+ var mAux = e.value.getMonth() + 1;
+ var dAux = e.value.getDate();
+ var hAux = e.value.getHours();
+ var iAux = e.value.getMinutes();
+ var sAux = e.value.getSeconds();
+
+ strValue = e.value.getFullYear() + "-" + ((mAux <= 9)? "0" : "") + mAux + "-" + ((dAux <= 9)? "0" : "") + dAux;
+ strValue = strValue + " " + ((hAux <= 9)? "0" + ((hAux == 0)? "0" : hAux) : hAux) + ":" + ((iAux <= 9)? "0" + ((iAux == 0)? "0" : iAux) : iAux) + ":" + ((sAux <= 9)? "0" + ((sAux == 0)? "0" : sAux) : sAux);
+ } else {
+ strValue = strReplace("\"", "\\\"", e.value + "");
+ }
+
+ storeConsolidated.each(function (record) {
+ dataUpdate = dataUpdate + ((sw == 1)? "(sep1 /)": "") + record.data["APP_UID"] + "(sep2 /)" + e.field + "(sep2 /)" + strValue;
+ sw = 1;
+ });
+
+ ///////
+ Ext.Ajax.request({
+ url: "consolidatedUpdateAjax",
+ method: "POST",
+ params: {
+ "option": "ALL",
+ "dynaformUid": dynUid,
+ "dataUpdate": dataUpdate
+ },
+
+ success: function (response, opts) {
+ var dataResponse = eval("(" + response.responseText + ")"); //json
+
+ if (dataResponse.status && dataResponse.status == "OK") {
+ if (typeof(storeConsolidated.lastOptions.params) != "undefined") {
+ pagei = storeConsolidated.lastOptions.params.start;
+ }
+
+ storeConsolidated.setBaseParam("start", pagei);
+ storeConsolidated.load();
+ } else {
+ //
+ }
+ }
+ });
+ }
+ },
+ //animEl: "elId",
+ icon: Ext.MessageBox.QUESTION
+ });
+ }
+ },
+
+ mouseover: function (e, cell) {
+ var rowIndex = consolidatedGrid.getView().findRowIndex(cell);
+ if (!(rowIndex === false)) {
+ var record = consolidatedGrid.store.getAt(rowIndex);
+ var msg = record.get('APP_TITLE');
+ Ext.QuickTips.register({
+ text: msg,
+ target: e.target
+ });
+ } else {
+ Ext.QuickTips.unregister(e.target);
+ }
+ },
+
+ mouseout: function (e, cell) {
+ Ext.QuickTips.unregister(e.target);
+ }
+ },
+
+ //tbar: tb,
+
+ tbar: new Ext.Toolbar({
+ height: 33,
+ items: toolbarconsolidated
+ }),
+
+ bbar: new Ext.PagingToolbar({
+ pageSize: pager,
+ store: storeConsolidated,
+ displayInfo: true,
+ displayMsg: _("ID_DISPLAY_ITEMS"),
+ emptyMsg: _("ID_DISPLAY_EMPTY")
+ })
+ });
+
+ //remocion de todos los elementos del panel principal donde se carga el grid
+ //Ext.ComponentMgr.get("myId").body.update("");
+ //pnlMain.removeAll(false);
+ pnlMain.removeAll();
+ //adicion del grid definido con anterioridad
+ pnlMain.add(consolidatedGrid);
+ //recarga de los elementos del grid, para su visualizacion.
+ pnlMain.doLayout();
+ },
+
+ //en caso de fallo ejecutar la siguiente funcion.
+ failure: function(){
+ alert("Failure...");
+ },
+ // parametros que son enviados en la peticion al servidor.
+ params: {
+ xaction: 'read',
+ tasUid: tasUid,
+ dynUid: dynUid,
+ proUid: proUid
+ }
+ });
+}
function generateGrid(proUid, tasUid, dynUid)
{
@@ -1055,16 +1328,18 @@ function ajaxDerivationRequest(appUid, delIndex, maxLenght, appNumber){
buttons: Ext.MessageBox.OK,
fn: function (btn, text, opt) {
- //if (btn == "ok") {}
- if (maxLenght == storeConsolidated.getCount()) {
- window.location.reload();
- }
-
- if (fullResponseText.charAt(0) != "<") {
- parent.document.getElementById("batchRoutingCasesNumRec").innerHTML = parseInt(dataResponse.casesNumRec);
- }
-
- storeConsolidated.reload();
+ if (btn == "ok") {
+ if (maxLenght == storeConsolidated.getCount()) {
+ window.location.reload();
+ }
+ if (fullResponseText.charAt(0) != "<") {
+ parent.document.getElementById("batchRoutingCasesNumRec").innerHTML = parseInt(dataResponse.casesNumRec);
+ }
+ storeConsolidated.reload();
+ }else{
+ //Click in X
+ }
+
}
});
}