BUG 7197 New feature request: "Categories" column/filter... SOLVED
- According to the specifications. - Was added the filter "Categories" only when Solar is disabled.
This commit is contained in:
@@ -79,7 +79,7 @@
|
|||||||
$oAppCache->confCasesList = $confCasesList;
|
$oAppCache->confCasesList = $confCasesList;
|
||||||
|
|
||||||
//get values for the comboBoxes
|
//get values for the comboBoxes
|
||||||
$processes = getProcessArray($action, $userUid );
|
$processes[] = array ( '', G::LoadTranslation('ID_ALL_PROCESS'));
|
||||||
$status = getStatusArray($action, $userUid );
|
$status = getStatusArray($action, $userUid );
|
||||||
$category = getCategoryArray();
|
$category = getCategoryArray();
|
||||||
$users = getUserArray($action, $userUid );
|
$users = getUserArray($action, $userUid );
|
||||||
@@ -125,95 +125,6 @@
|
|||||||
$oHeadPublisher->assign('FORMATS',$c->getFormats());
|
$oHeadPublisher->assign('FORMATS',$c->getFormats());
|
||||||
G::RenderPage('publish', 'extJs');
|
G::RenderPage('publish', 'extJs');
|
||||||
|
|
||||||
//functions to fill the comboboxes in the case list page
|
|
||||||
function getProcessArray ( $action, $userUid ) {
|
|
||||||
global $oAppCache;
|
|
||||||
$processes = Array();
|
|
||||||
$processes[] = array ( '', G::LoadTranslation('ID_ALL_PROCESS') );
|
|
||||||
|
|
||||||
//get the list based in the action provided
|
|
||||||
|
|
||||||
// G::pr($action);die;
|
|
||||||
switch ( $action ) {
|
|
||||||
case 'draft' :
|
|
||||||
$cProcess = $oAppCache->getDraftListCriteria($userUid); //fast enough
|
|
||||||
break;
|
|
||||||
case 'sent' :
|
|
||||||
$cProcess = $oAppCache->getSentListProcessCriteria ($userUid); // fast enough
|
|
||||||
break;
|
|
||||||
case 'simple_search':
|
|
||||||
case 'search' :
|
|
||||||
//in search action, the query to obtain all process is too slow, so we need to query directly to
|
|
||||||
//process and content tables, and for that reason we need the current language in AppCacheView.
|
|
||||||
G::loadClass('configuration');
|
|
||||||
$oConf = new Configurations;
|
|
||||||
$oConf->loadConfig($x, 'APP_CACHE_VIEW_ENGINE','','','','');
|
|
||||||
$appCacheViewEngine = $oConf->aConfig;
|
|
||||||
$lang = isset($appCacheViewEngine['LANG']) ? $appCacheViewEngine['LANG'] : 'en';
|
|
||||||
|
|
||||||
$cProcess = new Criteria('workflow');
|
|
||||||
$cProcess->clearSelectColumns ( );
|
|
||||||
$cProcess->addSelectColumn ( ProcessPeer::PRO_UID );
|
|
||||||
$cProcess->addSelectColumn ( ContentPeer::CON_VALUE );
|
|
||||||
$del = DBAdapter::getStringDelimiter();
|
|
||||||
$conds = array();
|
|
||||||
$conds[] = array(ProcessPeer::PRO_UID, ContentPeer::CON_ID );
|
|
||||||
$conds[] = array(ContentPeer::CON_CATEGORY, $del . 'PRO_TITLE' . $del);
|
|
||||||
$conds[] = array(ContentPeer::CON_LANG, $del . $lang . $del);
|
|
||||||
$cProcess->addJoinMC($conds, Criteria::LEFT_JOIN);
|
|
||||||
$cProcess->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
|
|
||||||
$oDataset = ProcessPeer::doSelectRS($cProcess);
|
|
||||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
|
||||||
$oDataset->next();
|
|
||||||
|
|
||||||
while($aRow = $oDataset->getRow()){
|
|
||||||
$processes[] = array ( $aRow['PRO_UID'], $aRow['CON_VALUE'] );
|
|
||||||
$oDataset->next();
|
|
||||||
}
|
|
||||||
|
|
||||||
return $processes;
|
|
||||||
break;
|
|
||||||
case 'unassigned' :
|
|
||||||
$cProcess = $oAppCache->getUnassignedListCriteria($userUid);
|
|
||||||
break;
|
|
||||||
case 'paused' :
|
|
||||||
$cProcess = $oAppCache->getPausedListCriteria($userUid);
|
|
||||||
break;
|
|
||||||
case 'to_revise' :
|
|
||||||
$cProcess = $oAppCache->getToReviseListCriteria($userUid);
|
|
||||||
break;
|
|
||||||
case 'to_reassign' :
|
|
||||||
$cProcess = $oAppCache->getToReassignListCriteria();
|
|
||||||
$cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
|
|
||||||
break;
|
|
||||||
case 'gral' :
|
|
||||||
$cProcess = $oAppCache->getGeneralListCriteria();
|
|
||||||
$cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
|
|
||||||
break;
|
|
||||||
case 'todo' :
|
|
||||||
default:
|
|
||||||
$cProcess = $oAppCache->getToDoListCriteria($userUid); //fast enough
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
//get the processes for this user in this action
|
|
||||||
$cProcess->clearSelectColumns();
|
|
||||||
$cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID);
|
|
||||||
$cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE);
|
|
||||||
$cProcess->setDistinct(AppCacheViewPeer::PRO_UID);
|
|
||||||
|
|
||||||
$oDataset = AppCacheViewPeer::doSelectRS($cProcess);
|
|
||||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
|
||||||
$oDataset->next();
|
|
||||||
|
|
||||||
while($aRow = $oDataset->getRow()){
|
|
||||||
$processes[] = array ( $aRow['PRO_UID'], $aRow['APP_PRO_TITLE'] );
|
|
||||||
$oDataset->next();
|
|
||||||
}
|
|
||||||
|
|
||||||
return $processes;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getUserArray ( $action, $userUid ) {
|
function getUserArray ( $action, $userUid ) {
|
||||||
global $oAppCache;
|
global $oAppCache;
|
||||||
$status = array();
|
$status = array();
|
||||||
|
|||||||
@@ -49,14 +49,14 @@
|
|||||||
|
|
||||||
//get the list based in the action provided
|
//get the list based in the action provided
|
||||||
switch ( $action ) {
|
switch ( $action ) {
|
||||||
case 'draft' :
|
case 'draft':
|
||||||
$cProcess = $oAppCache->getDraftListCriteria($userUid); //fast enough
|
$cProcess = $oAppCache->getDraftListCriteria($userUid); //fast enough
|
||||||
break;
|
break;
|
||||||
case 'sent' :
|
case 'sent':
|
||||||
$cProcess = $oAppCache->getSentListProcessCriteria ($userUid); // fast enough
|
$cProcess = $oAppCache->getSentListProcessCriteria ($userUid); // fast enough
|
||||||
break;
|
break;
|
||||||
case 'simple_search':
|
case 'simple_search':
|
||||||
case 'search' :
|
case 'search':
|
||||||
//in search action, the query to obtain all process is too slow, so we need to query directly to
|
//in search action, the query to obtain all process is too slow, so we need to query directly to
|
||||||
//process and content tables, and for that reason we need the current language in AppCacheView.
|
//process and content tables, and for that reason we need the current language in AppCacheView.
|
||||||
G::loadClass('configuration');
|
G::loadClass('configuration');
|
||||||
@@ -65,51 +65,51 @@
|
|||||||
$appCacheViewEngine = $oConf->aConfig;
|
$appCacheViewEngine = $oConf->aConfig;
|
||||||
$lang = isset($appCacheViewEngine['LANG']) ? $appCacheViewEngine['LANG'] : 'en';
|
$lang = isset($appCacheViewEngine['LANG']) ? $appCacheViewEngine['LANG'] : 'en';
|
||||||
|
|
||||||
$cProcess = new Criteria('workflow');
|
$cProcess = new Criteria('workflow');
|
||||||
$cProcess->clearSelectColumns ( );
|
$cProcess->clearSelectColumns ( );
|
||||||
$cProcess->addSelectColumn ( ProcessPeer::PRO_UID );
|
$cProcess->addSelectColumn ( ProcessPeer::PRO_UID );
|
||||||
$cProcess->addSelectColumn ( ContentPeer::CON_VALUE );
|
$cProcess->addSelectColumn ( ContentPeer::CON_VALUE );
|
||||||
if ($categoryUid) {
|
if ($categoryUid) {
|
||||||
$cProcess->add ( ProcessPeer::PRO_CATEGORY, $categoryUid );
|
$cProcess->add (ProcessPeer::PRO_CATEGORY, $categoryUid);
|
||||||
}
|
}
|
||||||
$del = DBAdapter::getStringDelimiter();
|
$del = DBAdapter::getStringDelimiter();
|
||||||
$conds = array();
|
$conds = array();
|
||||||
$conds[] = array(ProcessPeer::PRO_UID, ContentPeer::CON_ID );
|
$conds[] = array(ProcessPeer::PRO_UID, ContentPeer::CON_ID );
|
||||||
$conds[] = array(ContentPeer::CON_CATEGORY, $del . 'PRO_TITLE' . $del);
|
$conds[] = array(ContentPeer::CON_CATEGORY, $del . 'PRO_TITLE' . $del);
|
||||||
$conds[] = array(ContentPeer::CON_LANG, $del . $lang . $del);
|
$conds[] = array(ContentPeer::CON_LANG, $del . $lang . $del);
|
||||||
$cProcess->addJoinMC($conds, Criteria::LEFT_JOIN);
|
$cProcess->addJoinMC($conds, Criteria::LEFT_JOIN);
|
||||||
$cProcess->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
|
$cProcess->add(ProcessPeer::PRO_STATUS, 'ACTIVE');
|
||||||
$oDataset = ProcessPeer::doSelectRS($cProcess);
|
$oDataset = ProcessPeer::doSelectRS($cProcess);
|
||||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
|
|
||||||
while($aRow = $oDataset->getRow()){
|
while ($aRow = $oDataset->getRow()) {
|
||||||
$processes[] = array ( $aRow['PRO_UID'], $aRow['CON_VALUE'] );
|
$processes[] = array ( $aRow['PRO_UID'], $aRow['CON_VALUE'] );
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
}
|
}
|
||||||
return print G::json_encode($processes);
|
return print G::json_encode($processes);
|
||||||
break;
|
break;
|
||||||
case 'unassigned' :
|
case 'unassigned':
|
||||||
$cProcess = $oAppCache->getUnassignedListCriteria($userUid);
|
$cProcess = $oAppCache->getUnassignedListCriteria($userUid);
|
||||||
break;
|
break;
|
||||||
case 'paused' :
|
case 'paused':
|
||||||
$cProcess = $oAppCache->getPausedListCriteria($userUid);
|
$cProcess = $oAppCache->getPausedListCriteria($userUid);
|
||||||
break;
|
break;
|
||||||
case 'to_revise' :
|
case 'to_revise':
|
||||||
$cProcess = $oAppCache->getToReviseListCriteria($userUid);
|
$cProcess = $oAppCache->getToReviseListCriteria($userUid);
|
||||||
break;
|
break;
|
||||||
case 'to_reassign' :
|
case 'to_reassign':
|
||||||
$cProcess = $oAppCache->getToReassignListCriteria();
|
$cProcess = $oAppCache->getToReassignListCriteria();
|
||||||
$cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
|
$cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
|
||||||
break;
|
break;
|
||||||
case 'gral' :
|
case 'gral':
|
||||||
$cProcess = $oAppCache->getGeneralListCriteria();
|
$cProcess = $oAppCache->getGeneralListCriteria();
|
||||||
$cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
|
$cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
|
||||||
break;
|
break;
|
||||||
case 'todo' :
|
case 'todo':
|
||||||
default:
|
default:
|
||||||
$cProcess = $oAppCache->getToDoListCriteria($userUid); //fast enough
|
$cProcess = $oAppCache->getToDoListCriteria($userUid); //fast enough
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//get the processes for this user in this action
|
//get the processes for this user in this action
|
||||||
$cProcess->clearSelectColumns();
|
$cProcess->clearSelectColumns();
|
||||||
@@ -126,9 +126,9 @@
|
|||||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
|
|
||||||
while($aRow = $oDataset->getRow()){
|
while ($aRow = $oDataset->getRow()) {
|
||||||
$processes[] = array ( $aRow['PRO_UID'], $aRow['APP_PRO_TITLE'] );
|
$processes[] = array ( $aRow['PRO_UID'], $aRow['APP_PRO_TITLE'] );
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
}
|
}
|
||||||
return print G::json_encode($processes);
|
return print G::json_encode($processes);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -793,6 +793,21 @@ Ext.onReady ( function() {
|
|||||||
'<span> {APP_PRO_TITLE}</span>',
|
'<span> {APP_PRO_TITLE}</span>',
|
||||||
'</div></tpl>'
|
'</div></tpl>'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Ext.Ajax.request({
|
||||||
|
url : 'casesList_Ajax' ,
|
||||||
|
params : {actionAjax : 'processListExtJs',
|
||||||
|
action: action,
|
||||||
|
CATEGORY_UID: filterCategory},
|
||||||
|
success: function ( result, request ) {
|
||||||
|
processValues = Ext.util.JSON.decode(result.responseText);
|
||||||
|
comboProcess.getStore().removeAll();
|
||||||
|
comboProcess.getStore().loadData(processValues);
|
||||||
|
},
|
||||||
|
failure: function ( result, request) {
|
||||||
|
Ext.MessageBox.alert('Failed', result.responseText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
var comboProcess = new Ext.form.ComboBox({
|
var comboProcess = new Ext.form.ComboBox({
|
||||||
width : 200,
|
width : 200,
|
||||||
@@ -893,6 +908,7 @@ Ext.onReady ( function() {
|
|||||||
|
|
||||||
filterCategory = comboCategory.value;
|
filterCategory = comboCategory.value;
|
||||||
storeCases.setBaseParam('category', filterCategory);
|
storeCases.setBaseParam('category', filterCategory);
|
||||||
|
storeCases.setBaseParam('process', '');
|
||||||
storeCases.load({params:{category: filterCategory, start : 0 , limit : pageSize}});
|
storeCases.load({params:{category: filterCategory, start : 0 , limit : pageSize}});
|
||||||
|
|
||||||
Ext.Ajax.request({
|
Ext.Ajax.request({
|
||||||
@@ -905,6 +921,7 @@ Ext.onReady ( function() {
|
|||||||
comboProcess.getStore().removeAll();
|
comboProcess.getStore().removeAll();
|
||||||
comboProcess.getStore().loadData( data );
|
comboProcess.getStore().loadData( data );
|
||||||
comboProcess.setValue('');
|
comboProcess.setValue('');
|
||||||
|
|
||||||
},
|
},
|
||||||
failure: function ( result, request) {
|
failure: function ( result, request) {
|
||||||
Ext.MessageBox.alert('Failed', result.responseText);
|
Ext.MessageBox.alert('Failed', result.responseText);
|
||||||
@@ -1858,25 +1875,25 @@ var gridForm = new Ext.FormPanel({
|
|||||||
//Manually trigger the data store load
|
//Manually trigger the data store load
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case "draft":
|
case "draft":
|
||||||
storeCases.setBaseParam("process", comboProcess.store.getAt(0).get(comboProcess.valueField));
|
storeCases.setBaseParam("process", '');
|
||||||
storeCases.setBaseParam("search", textSearch.getValue());
|
storeCases.setBaseParam("search", textSearch.getValue());
|
||||||
break;
|
break;
|
||||||
case "sent":
|
case "sent":
|
||||||
storeCases.setBaseParam("process", comboProcess.store.getAt(0).get(comboProcess.valueField));
|
storeCases.setBaseParam("process", '');
|
||||||
storeCases.setBaseParam("status", comboStatus.store.getAt(0).get(comboStatus.valueField));
|
storeCases.setBaseParam("status", comboStatus.store.getAt(0).get(comboStatus.valueField));
|
||||||
storeCases.setBaseParam("search", textSearch.getValue());
|
storeCases.setBaseParam("search", textSearch.getValue());
|
||||||
break;
|
break;
|
||||||
case "to_revise":
|
case "to_revise":
|
||||||
storeCases.setBaseParam("process", comboProcess.store.getAt(0).get(comboProcess.valueField));
|
storeCases.setBaseParam("process", '');
|
||||||
storeCases.setBaseParam("search", textSearch.getValue());
|
storeCases.setBaseParam("search", textSearch.getValue());
|
||||||
break;
|
break;
|
||||||
case "to_reassign":
|
case "to_reassign":
|
||||||
storeCases.setBaseParam("user", comboAllUsers.store.getAt(0).get(comboAllUsers.valueField));
|
storeCases.setBaseParam("user", comboAllUsers.store.getAt(0).get(comboAllUsers.valueField));
|
||||||
storeCases.setBaseParam("process", comboProcess.store.getAt(0).get(comboProcess.valueField));
|
storeCases.setBaseParam("process", '');
|
||||||
storeCases.setBaseParam("search", textSearch.getValue());
|
storeCases.setBaseParam("search", textSearch.getValue());
|
||||||
break;
|
break;
|
||||||
case "search":
|
case "search":
|
||||||
storeCases.setBaseParam("process", comboProcess.store.getAt(0).get(comboProcess.valueField));
|
storeCases.setBaseParam("process", '');
|
||||||
storeCases.setBaseParam("status", comboStatus.store.getAt(0).get(comboStatus.valueField));
|
storeCases.setBaseParam("status", comboStatus.store.getAt(0).get(comboStatus.valueField));
|
||||||
storeCases.setBaseParam("user", comboUser.store.getAt(0).get(comboUser.valueField));
|
storeCases.setBaseParam("user", comboUser.store.getAt(0).get(comboUser.valueField));
|
||||||
storeCases.setBaseParam("search", textSearch.getValue());
|
storeCases.setBaseParam("search", textSearch.getValue());
|
||||||
@@ -1884,16 +1901,16 @@ var gridForm = new Ext.FormPanel({
|
|||||||
storeCases.setBaseParam("dateTo", dateTo.getValue());
|
storeCases.setBaseParam("dateTo", dateTo.getValue());
|
||||||
break;
|
break;
|
||||||
case "unassigned":
|
case "unassigned":
|
||||||
storeCases.setBaseParam("process", comboProcess.store.getAt(0).get(comboProcess.valueField));
|
storeCases.setBaseParam("process", '');
|
||||||
storeCases.setBaseParam("search", textSearch.getValue());
|
storeCases.setBaseParam("search", textSearch.getValue());
|
||||||
break;
|
break;
|
||||||
case "gral":
|
case "gral":
|
||||||
storeCases.setBaseParam("process", comboProcess.store.getAt(0).get(comboProcess.valueField));
|
storeCases.setBaseParam("process", '');
|
||||||
storeCases.setBaseParam("search", textSearch.getValue());
|
storeCases.setBaseParam("search", textSearch.getValue());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
//todo
|
//todo
|
||||||
storeCases.setBaseParam("process", comboProcess.store.getAt(0).get(comboProcess.valueField));
|
storeCases.setBaseParam("process", '');
|
||||||
storeCases.setBaseParam("search", textSearch.getValue());
|
storeCases.setBaseParam("search", textSearch.getValue());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user