PMC-994:Change the query AppChacheView using in proxyProcessList.php
correction correction order by
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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' );
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -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',
|
||||||
@@ -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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user