HOR-1155-A

This commit is contained in:
Luis Fernando Saisa Lopez
2016-08-03 13:15:16 -04:00
parent 9b0d038b5d
commit f961f9ce9c
3 changed files with 238 additions and 46 deletions

View File

@@ -48,6 +48,10 @@ $status = array(
array("pending", G::LoadTranslation('ID_PENDING'))
);
$pluginRegistry = PMPluginRegistry::getSingleton();
$statusER = $pluginRegistry->getStatusPlugin('externalRegistration');
$flagER = (preg_match('/^enabled$/', $statusER))? 1 : 0;
$processes = getProcessArray($userUid);
$G_PUBLISH = new Publisher();
@@ -58,6 +62,7 @@ $oHeadPublisher->addContent('mails/emailList'); //adding a html file .html.
//sending the columns to display in grid
$oHeadPublisher->assign('statusValues', $status);
$oHeadPublisher->assign('processValues', $processes);
$oHeadPublisher->assign('flagER', $flagER);
function getProcessArray($userUid) {
global $oAppCache;

View File

@@ -17,12 +17,16 @@ switch($req){
$dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : 'ASC';
$dateFrom = isset( $_POST["dateFrom"] ) ? substr( $_POST["dateFrom"], 0, 10 ) : "";
$dateTo = isset( $_POST["dateTo"] ) ? substr( $_POST["dateTo"], 0, 10 ) : "";
$filterBy = (isset($_REQUEST['filterBy']))? $_REQUEST['filterBy'] : 'ALL';
$response = new stdclass();
$response->status = 'OK';
$delimiter = DBAdapter::getStringDelimiter();
$criteria = new Criteria();
$criteria->addJoin(AppMessagePeer::APP_UID, ApplicationPeer::APP_UID);
$criteria->addJoin(AppMessagePeer::APP_UID, ApplicationPeer::APP_UID, Criteria::LEFT_JOIN);
if ($emailStatus != '') {
$criteria->add( AppMessagePeer::APP_MSG_STATUS, $emailStatus);
}
@@ -30,6 +34,34 @@ switch($req){
$criteria->add( ApplicationPeer::PRO_UID, $proUid);
}
$arrayType = [];
$pluginRegistry = PMPluginRegistry::getSingleton();
$statusEr = $pluginRegistry->getStatusPlugin('externalRegistration');
$flagEr = (preg_match('/^enabled$/', $statusEr))? 1 : 0;
if ($flagEr == 0) {
$arrayType[] = 'EXTERNAL_REGISTRATION';
}
switch ($filterBy) {
case 'CASES':
$criteria->add(AppMessagePeer::APP_MSG_TYPE, ['TEST', 'EXTERNAL_REGISTRATION'], Criteria::NOT_IN);
break;
case 'TEST':
$criteria->add(AppMessagePeer::APP_MSG_TYPE, 'TEST', Criteria::EQUAL);
break;
case 'EXTERNAL-REGISTRATION':
$criteria->add(AppMessagePeer::APP_MSG_TYPE, 'EXTERNAL_REGISTRATION', Criteria::EQUAL);
break;
default:
if (!empty($arrayType)) {
$criteria->add(AppMessagePeer::APP_MSG_TYPE, $arrayType, Criteria::NOT_IN);
}
break;
}
if ($dateFrom != "") {
if ($dateTo != "") {
if ($dateFrom == $dateTo) {
@@ -92,6 +124,23 @@ switch($req){
$criteria->add( ApplicationPeer::PRO_UID, $proUid);
}
switch ($filterBy) {
case 'CASES':
$criteria->add(AppMessagePeer::APP_MSG_TYPE, ['TEST', 'EXTERNAL_REGISTRATION'], Criteria::NOT_IN);
break;
case 'TEST':
$criteria->add(AppMessagePeer::APP_MSG_TYPE, 'TEST', Criteria::EQUAL);
break;
case 'EXTERNAL-REGISTRATION':
$criteria->add(AppMessagePeer::APP_MSG_TYPE, 'EXTERNAL_REGISTRATION', Criteria::EQUAL);
break;
default:
if (!empty($arrayType)) {
$criteria->add(AppMessagePeer::APP_MSG_TYPE, $arrayType, Criteria::NOT_IN);
}
break;
}
if ($dateFrom != "") {
if ($dateTo != "") {
if ($dateFrom == $dateTo) {
@@ -126,8 +175,11 @@ switch($req){
$criteria->setLimit($limit);
$criteria->setOffset($start);
}
$criteria->addJoin(AppMessagePeer::APP_UID, ApplicationPeer::APP_UID);
$criteria->addJoin(ApplicationPeer::PRO_UID, ProcessPeer::PRO_UID);
$result = AppMessagePeer::doSelectRS($criteria);
$result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$data = Array();
@@ -139,26 +191,51 @@ switch($req){
$row = $result->getRow();
$row['APP_MSG_FROM'] =htmlentities($row['APP_MSG_FROM'], ENT_QUOTES, "UTF-8");
$row['APP_MSG_STATUS'] = ucfirst ( $row['APP_MSG_STATUS']);
if ($row['DEL_INDEX'] != 0) {
$index = $row['DEL_INDEX'];
switch ($filterBy) {
case 'CASES':
if ($row['DEL_INDEX'] != 0) {
$index = $row['DEL_INDEX'];
}
$criteria = new Criteria();
$criteria->addSelectColumn(AppCacheViewPeer::APP_TITLE);
$criteria->addSelectColumn(AppCacheViewPeer::APP_TAS_TITLE);
$criteria->add(AppCacheViewPeer::APP_UID, $row['APP_UID'], Criteria::EQUAL);
$criteria->add(AppCacheViewPeer::DEL_INDEX, $index, Criteria::EQUAL);
$resultCacheView = AppCacheViewPeer::doSelectRS($criteria);
$resultCacheView->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$row['APP_TITLE'] = '-';
while ($resultCacheView->next()) {
$rowCacheView = $resultCacheView->getRow();
$row['APP_TITLE'] = $rowCacheView['APP_TITLE'];
$row['TAS_TITLE'] = $rowCacheView['APP_TAS_TITLE'];
}
if ($row['DEL_INDEX'] == 0) {
$row['TAS_TITLE'] = $tasTitleDefault;
}
break;
case 'TEST':
$row['PRO_UID'] = '';
$row['APP_NUMBER'] = '';
$row['PRO_TITLE'] = '';
$row['APP_TITLE'] = '';
$row['TAS_TITLE'] = '';
break;
case 'EXTERNAL-REGISTRATION':
$row['PRO_UID'] = '';
$row['APP_NUMBER'] = '';
$row['PRO_TITLE'] = '';
$row['APP_TITLE'] = '';
$row['TAS_TITLE'] = '';
break;
}
$criteria = new Criteria();
$criteria->addSelectColumn(AppCacheViewPeer::APP_TITLE);
$criteria->addSelectColumn(AppCacheViewPeer::APP_TAS_TITLE);
$criteria->add(AppCacheViewPeer::APP_UID, $row['APP_UID']);
$criteria->add(AppCacheViewPeer::DEL_INDEX, $index);
$resultCacheView = AppCacheViewPeer::doSelectRS($criteria);
$resultCacheView->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$row['APP_TITLE'] = '-';
while ($resultCacheView->next()) {
$rowCacheView = $resultCacheView->getRow();
$row['APP_TITLE'] = $rowCacheView['APP_TITLE'];
$row['TAS_TITLE'] = $rowCacheView['APP_TAS_TITLE'];
}
if ($row['DEL_INDEX'] == 0) {
$row['TAS_TITLE'] = $tasTitleDefault;
}
$data[] = $row;
}
$response = array();

View File

@@ -33,7 +33,7 @@ Ext.onReady(function(){
'<span> {APP_PRO_TITLE}</span>',
'</div></tpl>'
);
var columnRenderer = function(data, metadata, record, rowIndex,columnIndex, store) {
var new_text = metadata.style.split(';');
var style = '';
@@ -121,20 +121,130 @@ Ext.onReady(function(){
iconCls: 'no-icon'
});
actions = _addPluginActions([ {xtype: 'tbfill'}, _('ID_PROCESS'), comboProcess, '-', _('ID_STATUS'), comboStatus, _('ID_DELEGATE_DATE_FROM'),
var arrayData = [
["ALL", _("ID_ALL")],
["CASES", _("ID_CASES1")],
["TEST", _("ID_TEST")]
];
if (parseInt(flagER) == 1) {
arrayData.push(["EXTERNAL-REGISTRATION", _("ID_EXTERNAL_REGISTRATION")]);
}
var cboFilterBy = new Ext.form.ComboBox({
id: "cboFilterBy",
width: 140,
editable: false,
mode: "local",
emptyText: _("ID_SELECT"),
store: new Ext.data.ArrayStore({
fields: ["id", "value"],
data: arrayData
}),
valueField: "id",
displayField: "value",
triggerAction: "all",
listeners:{
"select": function() {
switch (cboFilterBy.value) {
case "ALL":
case "CASES":
emailsGrid.getColumnModel().setHidden(6, false);
emailsGrid.getColumnModel().setHidden(7, false);
emailsGrid.getColumnModel().setHidden(8, false);
emailsGrid.getColumnModel().setHidden(9, false);
emailsGrid.getColumnModel().setHidden(10, false);
emailsGrid.getColumnModel().getColumnById("APP_TITLE").hideable = true;
emailsGrid.getColumnModel().getColumnById("PRO_TITLE").hideable = true;
emailsGrid.getColumnModel().getColumnById("TAS_TITLE").hideable = true;
emailsGrid.getColumnModel().getColumnById("APP_MSG_TYPE").hideable = true;
dateFrom.setValue("");
dateTo.setValue("");
comboProcess.reset();
comboStatus.reset();
comboProcess.setDisabled(false);
break;
case "TEST":
emailsGrid.getColumnModel().setHidden(6, true);
emailsGrid.getColumnModel().setHidden(7, true);
emailsGrid.getColumnModel().setHidden(8, true);
emailsGrid.getColumnModel().setHidden(9, true);
emailsGrid.getColumnModel().setHidden(10, true);
emailsGrid.getColumnModel().getColumnById("APP_TITLE").hideable = false;
emailsGrid.getColumnModel().getColumnById("PRO_TITLE").hideable = false;
emailsGrid.getColumnModel().getColumnById("TAS_TITLE").hideable = false;
emailsGrid.getColumnModel().getColumnById("APP_MSG_TYPE").hideable = false;
dateFrom.setValue("");
dateTo.setValue("");
comboStatus.reset();
comboProcess.reset();
comboProcess.setDisabled(true);
break;
case "EXTERNAL-REGISTRATION":
emailsGrid.getColumnModel().setHidden(6, true);
emailsGrid.getColumnModel().setHidden(7, true);
emailsGrid.getColumnModel().setHidden(8, true);
emailsGrid.getColumnModel().setHidden(9, true);
emailsGrid.getColumnModel().setHidden(10, true);
emailsGrid.getColumnModel().getColumnById("APP_TITLE").hideable = false;
emailsGrid.getColumnModel().getColumnById("PRO_TITLE").hideable = false;
emailsGrid.getColumnModel().getColumnById("TAS_TITLE").hideable = false;
emailsGrid.getColumnModel().getColumnById("APP_MSG_TYPE").hideable = false;
dateFrom.setValue("");
dateTo.setValue("");
comboStatus.reset();
comboProcess.reset();
comboProcess.setDisabled(true);
break;
}
store.setBaseParam("filterBy", cboFilterBy.value);
store.setBaseParam("process", comboProcess.value);
store.setBaseParam("status", comboStatus.value);
store.setBaseParam("dateFrom", "");
store.setBaseParam("dateTo", "");
store.setBaseParam("start", 0);
store.setBaseParam("limit", 25);
store.load();
}
},
iconCls: "no-icon"
});
var btnFilter = new Ext.Button ({
id: "btnFilter",
text: _("ID_FILTER_BY_DELEGATED_DATE"),
handler: function(){
store.setBaseParam("dateFrom", dateFrom.getValue());
store.setBaseParam("dateTo", dateTo.getValue());
store.load({params:{start: 0, limit: 25 }});
}
});
actions = _addPluginActions([ {xtype: 'tbfill'}, _("ID_FILTER_BY"), cboFilterBy, "-", _('ID_PROCESS'), comboProcess, '-', _('ID_STATUS'), comboStatus, _('ID_DELEGATE_DATE_FROM'),
dateFrom,
' ',
_('ID_TO'),
dateTo,
new Ext.Button ({
text: _('ID_FILTER_BY_DELEGATED_DATE'),
handler: function(){
store.setBaseParam('dateFrom', dateFrom.getValue());
store.setBaseParam('dateTo', dateTo.getValue());
store.load({params:{ start : 0 , limit : 25 }});
}
})
btnFilter
]);
var stepsFields = Ext.data.Record.create([
@@ -143,9 +253,9 @@ Ext.onReady(function(){
{name : 'APP_MSG_TO', type: 'string'},
{name : 'APP_MSG_DATE', type: 'string'},
{name : 'APP_MSG_STATUS', type: 'string'}
]);
store = new Ext.data.Store( {
proxy : new Ext.data.HttpProxy({
url: 'emailsAjax?request=MessageList'
@@ -206,21 +316,21 @@ Ext.onReady(function(){
},
columns: [
expander,
{id:'APP_MSG_UID', dataIndex: 'APP_MSG_UID', hidden:true, hideable:false},
{header: 'APP_UID', dataIndex: 'APP_UID', hidden:true, hideable:false},
{header: 'DEL_INDEX', dataIndex: 'DEL_INDEX', hidden:true, hideable:false},
{header: 'PRO_UID', dataIndex: 'PRO_UID', hidden:true, hideable:false, sortable: false},
{header: 'TAS_UID', dataIndex: 'TAS_UID', hidden:true, hideable:false, sortable: false},
{header: _('ID_HEADER_NUMBER'), dataIndex: 'APP_NUMBER', width: 40, hidden: false,renderer: columnRenderer, sortable: true},
{header: _('ID_CASE'), dataIndex: 'APP_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false},
{header: _('ID_PROCESS'), dataIndex: 'PRO_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false},
{header: _('ID_TASK'), dataIndex: 'TAS_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false},
{header: _('ID_TYPE'), dataIndex: 'APP_MSG_TYPE', width: 50, hidden: false,renderer: columnRenderer, sortable: true},
{header: _('ID_DATE_LABEL'), dataIndex: 'APP_MSG_DATE', width: 80,hidden:false, renderer: columnRenderer, sortable: true},
{header: _('ID_SUBJECT'), dataIndex: 'APP_MSG_SUBJECT', width: 80,hidden:false, renderer: columnRenderer, sortable: true},
{header: _('ID_FROM'), dataIndex: 'APP_MSG_FROM', width: 80,hidden:false,renderer: columnRenderer, sortable: true},
{header: _('ID_TO'), dataIndex: 'APP_MSG_TO', width: 80,hidden:false,renderer: columnRenderer, sortable: true},
{header: _('ID_ERROR_EMAIL'), dataIndex: 'APP_MSG_ERROR', width: 80,hidden:false,renderer: columnRenderer, sortable: true},
{id: "APP_MSG_UID", dataIndex: 'APP_MSG_UID', hidden: true, hideable:false},
{id: "APP_UID", header: 'APP_UID', dataIndex: 'APP_UID', hidden: true, hideable:false},
{id: "DEL_INDEX", header: 'DEL_INDEX', dataIndex: 'DEL_INDEX', hidden: true, hideable:false},
{id: "PRO_UID", header: 'PRO_UID', dataIndex: 'PRO_UID', hidden: true, hideable:false, sortable: false},
{id: "TAS_UID", header: 'TAS_UID', dataIndex: 'TAS_UID', hidden: true, hideable:false, sortable: false},
{id: "APP_NUMBER", header: _('ID_HEADER_NUMBER'), dataIndex: 'APP_NUMBER', width: 40, hidden: false,renderer: columnRenderer, sortable: true},
{id: "APP_TITLE", header: _('ID_CASE'), dataIndex: 'APP_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false},
{id: "PRO_TITLE", header: _('ID_PROCESS'), dataIndex: 'PRO_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false},
{id: "TAS_TITLE", header: _('ID_TASK'), dataIndex: 'TAS_TITLE', width: 100, hidden: false,renderer: columnRenderer, sortable: false},
{id: "APP_MSG_TYPE", header: _('ID_TYPE'), dataIndex: 'APP_MSG_TYPE', width: 50, hidden: false,renderer: columnRenderer, sortable: true},
{id: "APP_MSG_DATE", header: _('ID_DATE_LABEL'), dataIndex: 'APP_MSG_DATE', width: 80, hidden: false, renderer: columnRenderer, sortable: true},
{id: "APP_MSG_SUBJECT", header: _('ID_SUBJECT'), dataIndex: 'APP_MSG_SUBJECT', width: 80, hidden: false, renderer: columnRenderer, sortable: true},
{id: "APP_MSG_FROM", header: _('ID_FROM'), dataIndex: 'APP_MSG_FROM', width: 80, hidden: false,renderer: columnRenderer, sortable: true},
{id: "APP_MSG_TO", header: _('ID_TO'), dataIndex: 'APP_MSG_TO', width: 80, hidden: false,renderer: columnRenderer, sortable: true},
{id: "APP_MSG_ERROR", header: _('ID_ERROR_EMAIL'), dataIndex: 'APP_MSG_ERROR', width: 80, hidden: false,renderer: columnRenderer, sortable: true},
{
header: _('ID_STATUS'),