Merged in paulis/processmaker/PM-2973 (pull request #2369)

PM-2973: classic, despues de derivar no actualiza la data de la grilla
This commit is contained in:
Julio Cesar Laura Avendaño
2015-06-22 12:38:59 -04:00
6 changed files with 52 additions and 19 deletions

View File

@@ -18,14 +18,13 @@ class ConsolidatedCases
if (!$status) {
$oCaseConsolidated = new CaseConsolidatedCore();
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidated') {
$oCaseConsolidated = new CaseConsolidatedCore();
$oCaseConsolidated->setTasUid($sTasUid);
$oCaseConsolidated->delete();
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidatedCore') {
$oCaseConsolidated = new CaseConsolidatedCore();
$oCaseConsolidated->setTasUid($sTasUid);
$oCaseConsolidated->setConStatus('INACTIVE');
$oCaseConsolidated->save();
}else{
$oCaseConsolidated->delete();
}
return 1;
}
@@ -172,11 +171,21 @@ class ConsolidatedCases
$sRepTabUid = $_POST['form']['REP_TAB_UID'];
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidated') {
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidatedCore') {
$oCaseConsolidated = new CaseConsolidatedCore();
$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);
}
$oCaseConsolidated->setConStatus('ACTIVE');
$oCaseConsolidated->setDynUid($sDynUid);
$oCaseConsolidated->setRepTabUid($sRepTabUid);

View File

@@ -1546,7 +1546,7 @@ class processMap
if ($iForm == 8) {
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($_SESSION["cDhTajE2T2lxSkhqMzZUTXVacWYyNcKwV3A4eWYybDdyb1p3"]["TAS_UID"]);
if ((is_object($oCaseConsolidated)) && get_class($oCaseConsolidated) == "CaseConsolidated") {
if ((is_object($oCaseConsolidated)) && get_class($oCaseConsolidated) == "CaseConsolidatedCore") {
require_once ("classes/model/ReportTable.php");
$aFields["CON_STATUS"] = $oCaseConsolidated->getConStatus();

View File

@@ -590,10 +590,10 @@ class ajax_con extends WebResource
$sRepTabUid = "";
}
$oCaseConsolidated = CaseConsolidatedPeer::retrieveByPK($sTasUid);
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidated') {
$oCaseConsolidated = new CaseConsolidated();
$oCaseConsolidated = new CaseConsolidatedCore();
$oCaseConsolidated->setTasUid($sTasUid);
}

View File

@@ -65,23 +65,37 @@ class Consolidated
* @param string $app_number, Task Uid
* @param string $del_index, Task Uid
* @param string $usr_uid, Task Uid
* @param string $fieldName, Field Name
* @param string $fieldValue, Field Value
* @return string
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*/
public function postDerivate ($app_uid, $app_number, $del_index, $usr_uid)
public function postDerivate ($app_uid, $app_number, $del_index, $usr_uid, $fieldName='', $fieldValue='')
{
G::LoadClass("library");
G::LoadClass("wsBase");
G::LoadClass("case");
$ws = new \wsBase();
$oCase = new \Cases();
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);
//End update
}
$res = $ws->derivateCase($usr_uid, $app_uid, $del_index, true);
@@ -242,7 +256,7 @@ class Consolidated
$tableUid = $item["REP_TAB_UID"];
$tableName = $row["REP_TAB_NAME"];
} else {
throw (new Exception("Not found the report table"));
throw new \Exception("Not found the report table");
}
}

View File

@@ -136,19 +136,21 @@ class Consolidated extends Api
* @param string $app_uid {@min 1} {@max 32}
* @param string $app_number
* @param string $del_index
* @param string $field_grid
* @param string $field_grid_val
* @return array
*
* @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
* @copyright Colosa - Bolivia
*
* @url POST /derivate/:app_uid/:app_number/:del_index
* @url POST /derivate/:app_uid/:app_number/:del_index/:field_grid/:field_grid_val
*/
public function doPostDerivate($app_uid, $app_number, $del_index)
public function doPostDerivate($app_uid, $app_number, $del_index, $field_grid, $field_grid_val)
{
try {
$usr_uid = $this->getUserId();
$consolidated = new \ProcessMaker\BusinessModel\Consolidated();
return $consolidated->postDerivate($app_uid, $app_number, $del_index, $usr_uid);
return $consolidated->postDerivate($app_uid, $app_number, $del_index, $usr_uid,$field_grid, $field_grid_val);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}

View File

@@ -1,6 +1,7 @@
var grdNumRows = 0; //
var grdRowLabel = []; //
var fieldGridGral = '';
var fieldGridGralVal = '';
@@ -409,9 +410,16 @@ Ext.onReady(function () {
var selectedRow = Ext.getCmp(gridId).getSelectionModel().getSelections();
var maxLenght = selectedRow.length;
for (var i in selectedRow) {
rowGrid = selectedRow[i].data
for (fieldGrid in rowGrid){
if(fieldGrid != 'APP_UID' && fieldGrid != 'APP_NUMBER' && fieldGrid != 'APP_TITLE' && fieldGrid != 'DEL_INDEX' ){
fieldGridGral = fieldGrid;
fieldGridGralVal = rowGrid[fieldGrid];
}
}
if (selectedRow[i].data) {
//alert (derivateRequestAjax(selectedRow[i].data["company"]));
ajaxDerivationRequest(selectedRow[i].data["APP_UID"], selectedRow[i].data["DEL_INDEX"], maxLenght, selectedRow[i].data["APP_NUMBER"]);
ajaxDerivationRequest(selectedRow[i].data["APP_UID"], selectedRow[i].data["DEL_INDEX"], maxLenght, selectedRow[i].data["APP_NUMBER"],fieldGridGral, fieldGridGralVal);
}
}
}
@@ -1298,14 +1306,14 @@ function generateGrid(proUid, tasUid, dynUid)
});
}
function ajaxDerivationRequest(appUid, delIndex, maxLenght, appNumber){
function ajaxDerivationRequest(appUid, delIndex, maxLenght, appNumber,fieldGridGral, fieldGridGralVal){
Ext.Ajax.request({
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + credentials.access_token
},
url: urlProxy + 'derivate/' + appUid + '/' + appNumber + '/' + delIndex,
url: urlProxy + 'derivate/' + appUid + '/' + appNumber + '/' + delIndex + '/' + fieldGridGral + '/' + fieldGridGralVal,
success: function(response) {
var dataResponse;
var fullResponseText = response.responseText;
@@ -1333,7 +1341,7 @@ function ajaxDerivationRequest(appUid, delIndex, maxLenght, appNumber){
window.location.reload();
}
if (fullResponseText.charAt(0) != "<") {
if (fullResponseText.charAt(0) != "<" && parent.document.getElementById("batchRoutingCasesNumRec") != null) {
parent.document.getElementById("batchRoutingCasesNumRec").innerHTML = parseInt(dataResponse.casesNumRec);
}