PMC-994:Change the query AppChacheView using in proxyProcessList.php

correction

correction order by
This commit is contained in:
Fabio Guachalla
2019-07-25 10:02:58 -04:00
parent 8968734667
commit ca1cf22b66
3 changed files with 10 additions and 134 deletions

View File

@@ -58,6 +58,7 @@ workflow/engine/methods/cases/casesDemo.php
workflow/engine/methods/cases/cases_Scheduler_Save.php workflow/engine/methods/cases/cases_Scheduler_Save.php
workflow/engine/methods/cases/cases_Scheduler_Update.php workflow/engine/methods/cases/cases_Scheduler_Update.php
workflow/engine/methods/cases/proxyPMTablesSaveFields.php workflow/engine/methods/cases/proxyPMTablesSaveFields.php
workflow/engine/methods/cases/proxyProcessList.php
workflow/engine/methods/cases/saveFormSupervisor.php workflow/engine/methods/cases/saveFormSupervisor.php
workflow/engine/methods/controls/buscador.php workflow/engine/methods/controls/buscador.php
workflow/engine/methods/dbConnections/genericDbConnections.php workflow/engine/methods/dbConnections/genericDbConnections.php

View File

@@ -1,107 +0,0 @@
<?php
$filter = new InputFilter();
$_POST = $filter->xssFilterHard($_POST);
$_SESSION['USER_LOGGED'] = $filter->xssFilterHard($_SESSION['USER_LOGGED']);
$_GET['t'] = $filter->xssFilterHard($_GET['t']);
$callback = isset( $_POST['callback'] ) ? $_POST['callback'] : 'stcCallback1001';
$dir = isset( $_POST['dir'] ) ? $_POST['dir'] : 'DESC';
$sort = isset( $_POST['sort'] ) ? $_POST['sort'] : '';
$query = isset( $_POST['query'] ) ? $_POST['query'] : '';
//$action = isset($_GET['action']) ? $_GET['action'] : 'read';
$option = '';
if (isset( $_GET['t'] ))
$option = $_GET['t'];
try {
$sUIDUserLogged = $_SESSION['USER_LOGGED'];
$Criteria = new Criteria( 'workflow' );
$Criteria->clearSelectColumns();
$Criteria->setDistinct();
$Criteria->addSelectColumn( AppCacheViewPeer::PRO_UID );
$Criteria->addSelectColumn( AppCacheViewPeer::APP_PRO_TITLE );
if ($query != '') {
$Criteria->add( AppCacheViewPeer::APP_PRO_TITLE, $query . '%', Criteria::LIKE );
}
$Criteria->add( AppCacheViewPeer::APP_STATUS, "TO_DO", CRITERIA::EQUAL );
$Criteria->add( AppCacheViewPeer::USR_UID, $sUIDUserLogged );
//$totalCount = AppCacheViewPeer::doCount( $Criteria );
if (isset( $limit )) {
$Criteria->setLimit( $limit );
}
if (isset( $start )) {
$Criteria->setOffset( $start );
}
// The $sort field is arbitrary
// This can result in ORDER BY
// SQL injection
// This ensures that ORDER BY will ONLY
// use a known good sort field.
// There is a matching list on the javascript side at
// workflow/engine/templates/processes/main.js
$allowedSortField = array(
"PRO_TITLE",
"PROJECT_TYPE",
"PRO_CATEGORY_LABEL",
"PRO_STATUS_LABEL",
"PRO_CREATE_USER_LABEL",
"PRO_CREATE_DATE",
"CASES_COUNT_TO_DO",
"CASES_COUNT_DRAFT",
"CASES_COUNT_COMPLETED",
"CASES_COUNT_CANCELLED",
"CASES_COUNT",
"PRO_DEBUG_LABEL",
"PRO_TYPE_PROCESS",
"PRO_UPDATE_DATE",
);
if(!in_array($sort, $allowedSortField)) {
$sort = '';
}
if ($sort != '') {
if ($dir == 'DESC') {
$Criteria->addDescendingOrderByColumn( $sort );
} else {
$Criteria->addAscendingOrderByColumn( $sort );
}
}
$oDataset = AppCacheViewPeer::doSelectRS( $Criteria, Propel::getDbConnection('workflow_ro') );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$oDataset->next();
$result = array ();
$rows = array ();
$index = isset( $start ) ? $start : 0;
while ($aRow = $oDataset->getRow()) {
$aRow['index'] = ++ $index;
$rows[] = $aRow;
$oDataset->next();
}
$result['totalCount'] = count( $rows );
$result['data'] = $rows;
print G::json_encode( $result );
} catch (Exception $e) {
$G_PUBLISH = new Publisher();
$aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
G::RenderPage( 'publish', 'blank' );
}

View File

@@ -908,21 +908,6 @@ Ext.onReady ( function() {
/*----------------------------------********---------------------------------*/ /*----------------------------------********---------------------------------*/
storeCases.on('load',function(){var viewport = Ext.getCmp("viewportcases");viewport.doLayout();}) storeCases.on('load',function(){var viewport = Ext.getCmp("viewportcases");viewport.doLayout();})
// create the Data Store for processes
var storeProcesses = new Ext.data.JsonStore({
root: 'data',
totalProperty: 'totalCount',
idProperty: 'index',
remoteSort: true,
fields: [
'PRO_UID', 'APP_PRO_TITLE'
],
proxy: new Ext.data.HttpProxy({
url: 'proxyProcessList?t=new'
})
});
storeProcesses.setDefaultSort('APP_PRO_TITLE', 'asc');
// creating the button for filters // creating the button for filters
var btnRead = new Ext.Button ({ var btnRead = new Ext.Button ({
id: 'read', id: 'read',
@@ -1356,7 +1341,7 @@ Ext.onReady ( function() {
//cls: 'x-form-toolbar-standardButton', //cls: 'x-form-toolbar-standardButton',
handler: doSearch handler: doSearch
}); });
/** /**
* Show loading Dialog * Show loading Dialog
*/ */
@@ -1383,12 +1368,12 @@ Ext.onReady ( function() {
} }
loadingMessage = Ext.Msg.show(commonSettings); loadingMessage = Ext.Msg.show(commonSettings);
timeoutMark = false; timeoutMark = false;
} }
}, 2000); }, 2000);
}; };
/** /**
* Show the error code. * Show the error code.
* @param {*} errorCode * @param {*} errorCode
*/ */
function showErrorMessage(errorCode) { function showErrorMessage(errorCode) {
var message; var message;
@@ -1432,7 +1417,7 @@ Ext.onReady ( function() {
storeCases.setBaseParam('dateFrom', dateFrom.getValue()); storeCases.setBaseParam('dateFrom', dateFrom.getValue());
storeCases.setBaseParam('dateTo', dateTo.getValue()); storeCases.setBaseParam('dateTo', dateTo.getValue());
storeCases.setBaseParam('search', searchText); storeCases.setBaseParam('search', searchText);
if ( action === 'search' ) { if ( action === 'search' ) {
storeCases.setBaseParam('doSearch', true); storeCases.setBaseParam('doSearch', true);
storeCases.setBaseParam('process_label', suggestProcess.getRawValue()); storeCases.setBaseParam('process_label', suggestProcess.getRawValue());
storeCases.setBaseParam('user_label', suggestUser.getRawValue()); storeCases.setBaseParam('user_label', suggestUser.getRawValue());
@@ -1817,7 +1802,7 @@ Ext.onReady ( function() {
var smodelUsersToReassign = new Ext.grid.RowSelectionModel({ var smodelUsersToReassign = new Ext.grid.RowSelectionModel({
singleSelect: true singleSelect: true
}); });
var textareaReason = new Ext.form.TextArea({ var textareaReason = new Ext.form.TextArea({
id: 'idTextareaReasonCasesList', id: 'idTextareaReasonCasesList',
disabled: true, disabled: true,
@@ -2496,11 +2481,11 @@ Ext.onReady ( function() {
typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.category ? typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.category ?
filtersValues.advanced.category : "" filtersValues.advanced.category : ""
); );
storeCases.setBaseParam("process", storeCases.setBaseParam("process",
typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.process ? typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.process ?
filtersValues.advanced.process : "" filtersValues.advanced.process : ""
); );
storeCases.setBaseParam("filterStatus", storeCases.setBaseParam("filterStatus",
typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.filterStatus ? typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.filterStatus ?
filtersValues.advanced.filterStatus : "" filtersValues.advanced.filterStatus : ""
); );
@@ -2572,8 +2557,6 @@ Ext.onReady ( function() {
//newPopUp.addButton(btnExecReassign); //newPopUp.addButton(btnExecReassign);
newPopUp.addButton(btnCloseReassign); newPopUp.addButton(btnCloseReassign);
//storeProcesses.load();
function onItemToggle(item, pressed){ function onItemToggle(item, pressed){
switch ( item.id ) { switch ( item.id ) {
case 'read' : case 'read' :
@@ -2607,7 +2590,6 @@ Ext.onReady ( function() {
storeCases.setBaseParam( 'start', 0 ); storeCases.setBaseParam( 'start', 0 );
storeCases.setBaseParam( 'limit', pageSize ); storeCases.setBaseParam( 'limit', pageSize );
storeCases.load(); storeCases.load();
//storeProcesses.load();
} }
@@ -2677,7 +2659,7 @@ Ext.onReady ( function() {
); );
// Loading process suggest // Loading process suggest
suggestProcess.getStore().loadData([{ suggestProcess.getStore().loadData([{
"PRO_UID": typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.process ? "PRO_UID": typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.process ?
filtersValues.advanced.process : "", filtersValues.advanced.process : "",
"PRO_TITLE": typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.process_label ? "PRO_TITLE": typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.process_label ?
filtersValues.advanced.process_label : "" filtersValues.advanced.process_label : ""
@@ -2712,7 +2694,7 @@ Ext.onReady ( function() {
); );
// Loading user suggest // Loading user suggest
suggestUser.getStore().loadData([{ suggestUser.getStore().loadData([{
"USR_UID": typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.user ? "USR_UID": typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.user ?
filtersValues.advanced.user : "", filtersValues.advanced.user : "",
"USR_FULLNAME": typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.user_label ? "USR_FULLNAME": typeof filtersValues !== 'undefined' && filtersValues.advanced && filtersValues.advanced.user_label ?
filtersValues.advanced.user_label : "" filtersValues.advanced.user_label : ""