Improvement save form Dashboards

This commit is contained in:
Marco Antonio Nina Mena
2015-04-01 20:39:12 -04:00
parent e637bed741
commit 0329f7709a
5 changed files with 105 additions and 117 deletions

View File

@@ -1793,67 +1793,52 @@ class AppCacheView extends BaseAppCacheView
return $criteria; return $criteria;
} }
/*----------------------------------********---------------------------------*/ /*----------------------------------********---------------------------------*/
function fillReportByUser () public function fillReportByUser ($dateInit, $dateFinish)
{ {
try { $con = Propel::getConnection("workflow");
global $sFilter; $stmt = $con->createStatement();
global $dateInit;
global $dateFinish; $filenameSql = $this->pathToAppCacheFiles . "triggerFillReportByUser.sql";
if (strpos($sFilter, 'report_by_user') === false) { if (!file_exists($filenameSql)) {
return false; throw (new Exception("file triggerFillReportByUser.sql doesn't exist"));
} }
if ($dateInit == null) {
eprintln("You must enter the starting date.", "red"); $sql = "TRUNCATE TABLE USR_REPORTING";
eprintln('Example: +init-date"YYYY-MM-DD HH:MM:SS" +finish-date"YYYY-MM-DD HH:MM:SS"', "red"); $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC);
return false;
} $sql = explode(';', file_get_contents($filenameSql));
$dateFinish = ($dateFinish != null) ? $dateFinish : date("Y-m-d H:i:s"); foreach ($sql as $key => $val) {
$val = str_replace('{init_date}', $dateInit, $val);
$appcv = new AppCacheView(); $val = str_replace('{finish_date}', $dateFinish, $val);
$appcv->setPathToAppCacheFiles( PATH_METHODS . 'setup' . PATH_SEP . 'setupSchemas' . PATH_SEP ); $stmt->executeQuery($val);
setExecutionMessage("Calculating data to fill the 'User Reporting'..."); }
$appcv->fillReportByUser($dateInit, $dateFinish); }
setExecutionResultMessage("DONE");
} catch (Exception $e) { public function fillReportByProcess ($dateInit, $dateFinish)
setExecutionResultMessage("WITH ERRORS", "error"); {
eprintln(" '-" . $e->getMessage(), "red"); $con = Propel::getConnection("workflow");
saveLog("fillReportByUser", "error", "Error in fill report by user: " . $e->getMessage()); $stmt = $con->createStatement();
}
} $filenameSql = $this->pathToAppCacheFiles . "triggerFillReportByProcess.sql";
function fillReportByProcess () if (!file_exists($filenameSql)) {
{ throw (new Exception("file triggerFillReportByProcess.sql doesn't exist"));
try { }
global $sFilter;
global $dateInit; $sql = "TRUNCATE TABLE PRO_REPORTING";
global $dateFinish; $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC);
if (strpos($sFilter, 'report_by_process') === false) { $sql = explode(';', file_get_contents($filenameSql));
return false;
} foreach ($sql as $key => $val) {
$val = str_replace('{init_date}', $dateInit, $val);
if ($dateInit == null) { $val = str_replace('{finish_date}', $dateFinish, $val);
eprintln("You must enter the starting date.", "red"); $stmt->executeQuery($val);
eprintln('Example: +init-date"YYYY-MM-DD HH:MM:SS" +finish-date"YYYY-MM-DD HH:MM:SS"', "red"); }
return false; }
}
$dateFinish = ($dateFinish != null) ? $dateFinish : date("Y-m-d H:i:s");
$appcv = new AppCacheView();
$appcv->setPathToAppCacheFiles( PATH_METHODS . 'setup' . PATH_SEP . 'setupSchemas' . PATH_SEP );
setExecutionMessage("Calculating data to fill the 'Process Reporting'...");
$appcv->fillReportByProcess($dateInit, $dateFinish);
setExecutionResultMessage("DONE");
} catch (Exception $e) {
setExecutionResultMessage("WITH ERRORS", "error");
eprintln(" '-" . $e->getMessage(), "red");
saveLog("fillReportByProcess", "error", "Error in fill report by process: " . $e->getMessage());
}
}
/*----------------------------------********---------------------------------*/ /*----------------------------------********---------------------------------*/
} }

View File

@@ -59952,7 +59952,6 @@ INSERT INTO CATALOG (CAT_UID, CAT_LABEL_ID, CAT_TYPE, CAT_FLAG, CAT_OBSERVATION,
('300','ID_SEMESTER','PERIODICITY','','','2015-03-04','2015-03-04'), ('300','ID_SEMESTER','PERIODICITY','','','2015-03-04','2015-03-04'),
('400','ID_YEAR','PERIODICITY','','','2015-03-04','2015-03-04'), ('400','ID_YEAR','PERIODICITY','','','2015-03-04','2015-03-04'),
('1010','ID_PROCESS_EFFICIENCE','INDICATOR','','','2015-03-04','2015-03-04'), ('1010','ID_PROCESS_EFFICIENCE','INDICATOR','','','2015-03-04','2015-03-04'),
('1020','ID_PROCESS_INEFFICIENCE','INDICATOR','','','2015-03-04','2015-03-04'),
('1030','ID_EMPLYEE_EFFICIENCIE','INDICATOR','','','2015-03-04','2015-03-04'), ('1030','ID_EMPLYEE_EFFICIENCIE','INDICATOR','','','2015-03-04','2015-03-04'),
('1040','ID_USER_INEFFICIENCE','INDICATOR','','','2015-03-04','2015-03-04'), ('1040','ID_USER_INEFFICIENCE','INDICATOR','','','2015-03-04','2015-03-04'),
('1050','ID_OVER_DUE','INDICATOR','%','Unit for displaying','2015-03-04','2015-03-04'), ('1050','ID_OVER_DUE','INDICATOR','%','Unit for displaying','2015-03-04','2015-03-04'),

View File

@@ -55,7 +55,7 @@ if ($RBAC->userCanAccess('PM_SETUP') == 1 || $RBAC->userCanAccess('PM_USERS') ==
// NEW DASHBOARD MODULE // NEW DASHBOARD MODULE
$licensedFeatures = & PMLicensedFeatures::getSingleton(); $licensedFeatures = & PMLicensedFeatures::getSingleton();
if ($licensedFeatures->verifyfeature('r19Vm5DK1UrT09MenlLYjZxejlhNUZ1b1NhV0JHWjBsZEJ6dnpJa3dTeWVLVT0=') && ($RBAC->userCanAccess('PM_SETUP') == 1 || $RBAC->userCanAccess('PM_USERS') == 1)) { if ($licensedFeatures->verifyfeature('r19Vm5DK1UrT09MenlLYjZxejlhNUZ1b1NhV0JHWjBsZEJ6dnpJa3dTeWVLVT0=') && ($RBAC->userCanAccess('PM_SETUP') == 1 || $RBAC->userCanAccess('PM_USERS') == 1)) {
$G_TMP_MENU->AddIdRawOption('DASHBOARD+', 'strategicDashboard/main', G::LoadTranslation('ID_DASHBOARD'), '', '', '', 'x-pm-dashboard'); $G_TMP_MENU->AddIdRawOption('DASHBOARD+', 'strategicDashboard/main', G::LoadTranslation('ID_STRATEGIC_DASHBOARD'), '', '', '', 'x-pm-dashboard');
} }
/*----------------------------------********---------------------------------*/ /*----------------------------------********---------------------------------*/

View File

@@ -20,7 +20,6 @@ INSERT INTO PRO_REPORTING (
TOTAL_CASES_OVERDUE, TOTAL_CASES_OVERDUE,
TOTAL_CASES_ON_TIME TOTAL_CASES_ON_TIME
) )
SELECT SELECT
APPLICATION.PRO_UID, APPLICATION.PRO_UID,
DATE_FORMAT(APPLICATION.APP_INIT_DATE, '%m') AS `MONTH`, DATE_FORMAT(APPLICATION.APP_INIT_DATE, '%m') AS `MONTH`,

View File

@@ -506,7 +506,7 @@ Ext.onReady( function() {
enableTabScroll : true, enableTabScroll : true,
//anchor : '98%', //anchor : '98%',
width : '100%', width : '100%',
height : 300, height : 315,
defaults : { defaults : {
autoScroll :true autoScroll :true
}, },
@@ -663,7 +663,7 @@ Ext.onReady( function() {
{ {
text : _('ID_CANCEL'), text : _('ID_CANCEL'),
id : 'cancel', id : 'cancel',
handler : function(){ handler : function() {
window.location = 'dashboardList'; window.location = 'dashboardList';
} }
} }
@@ -726,13 +726,14 @@ var addTab = function (flag) {
return false; return false;
} }
var tab = { var tab = {
//title : _('ID_INDICATOR') + (++indexTab),
title : _('ID_INDICATOR')+ ' '+ (++indexTab), title : _('ID_INDICATOR')+ ' '+ (++indexTab),
id : indexTab, id : indexTab,
iconCls : 'tabs', iconCls : 'tabs',
width : "100%",
items : [ items : [
new Ext.Panel({ new Ext.Panel({
height : 260, height : 275,
width : "100%",
border : true, border : true,
bodyStyle : 'padding:10px', bodyStyle : 'padding:10px',
items : [ items : [
@@ -792,7 +793,11 @@ var addTab = function (flag) {
}), }),
new Ext.form.FieldSet({ new Ext.form.FieldSet({
title : _('ID_INDICATOR_GOAL'), title : _('ID_INDICATOR_GOAL'),
bodyStyle: 'paddingLeft: 143px', width : "90%",
id : 'fieldSet_'+ indexTab,
bodyStyle: 'paddingLeft: 75px;',
paddingLeft: "30px",
marginLeft : "60px",
layout : 'hbox', layout : 'hbox',
items : [ items : [
new Ext.form.ComboBox({ new Ext.form.ComboBox({
@@ -826,7 +831,18 @@ var addTab = function (flag) {
width : 80, width : 80,
allowBlank : false allowBlank : false
} }
] ],
listeners:
{
render: function()
{
var index = tabPanel.getActiveTab().id;
var myfieldset = document.getElementById('fieldSet_'+index);
myfieldset.style.marginLeft = "70px";
myfieldset.style.marginRight = "70px";
}
}
}), }),
new Ext.form.ComboBox({ new Ext.form.ComboBox({
anchor : '85%', anchor : '85%',
@@ -1065,6 +1081,11 @@ var saveAllIndicators = function (DAS_UID) {
} }
tabPanel.getItem(tabActivate[tab]).show(); tabPanel.getItem(tabActivate[tab]).show();
var fieldsTab = tabPanel.getItem(tabActivate[tab]).items.items[0].items.items[0].items.items; var fieldsTab = tabPanel.getItem(tabActivate[tab]).items.items[0].items.items[0].items.items;
var goal = fieldsTab[3];
delete fieldsTab[3];
fieldsTab.push(goal.items.items[0]);
fieldsTab.push(goal.items.items[1]);
data = []; data = [];
data['DAS_UID'] = DAS_UID; data['DAS_UID'] = DAS_UID;
@@ -1076,54 +1097,38 @@ var saveAllIndicators = function (DAS_UID) {
} }
id = node.id; id = node.id;
value = node.getValue(); id = id.split('_');
switch (index) { field = '';
case "0": for (var part = 0; part<id.length-1; part++) {
data['DAS_IND_UID'] = value.trim(); if (part == 0) {
break; field = id[part];
case "1": } else {
if (value.trim() == '') { field = field+'_'+id[part];
PMExt.warning(_('ID_DASHBOARD'), _('ID_INDICATOR_TITLE_REQUIRED', tabPanel.getItem(tabActivate[tab]).title)); }
node.focus(true,10);
return false;
}
data['DAS_IND_TITLE'] = value.trim();
break;
case "2":
if (value.trim() == '') {
PMExt.warning(_('ID_DASHBOARD'), _('ID_INDICATOR_TYPE_REQUIRED', tabPanel.getItem(tabActivate[tab]).title));
node.focus(true,10);
return false;
}
data['DAS_IND_TYPE'] = value.trim();
break;
case "3":
data['DAS_IND_GOAL'] = value.trim();
break;
case "4":
data['DAS_IND_DIRECTION'] = value;
break;
case "5":
if (value.trim() == '') {
PMExt.warning(_('ID_DASHBOARD'), _('ID_INDICATOR_PROCESS_REQUIRED', tabPanel.getItem(tabActivate[tab]).title));
node.focus(true,10);
return false;
}
data['DAS_UID_PROCESS'] = value;
break;
case "6":
data['DAS_IND_FIRST_FIGURE'] = value;
break;
case "7":
data['DAS_IND_FIRST_FREQUENCY'] = value;
break;
case "8":
data['DAS_IND_SECOND_FIGURE'] = value;
break;
case "9":
data['DAS_IND_SECOND_FREQUENCY'] = value;
break;
} }
value = node.getValue();
if (field == 'IND_TITLE' && value.trim() == '') {
PMExt.warning(_('ID_DASHBOARD'), _('ID_INDICATOR_TITLE_REQUIRED', tabPanel.getItem(tabActivate[tab]).title));
node.focus(true,10);
return false;
} else if (field == 'IND_TYPE' && value.trim() == '') {
PMExt.warning(_('ID_DASHBOARD'), _('ID_INDICATOR_TYPE_REQUIRED', tabPanel.getItem(tabActivate[tab]).title));
node.focus(true,10);
return false;
} else if (field == 'IND_PROCESS' && value.trim() == '') {
PMExt.warning(_('ID_DASHBOARD'), _('ID_INDICATOR_PROCESS_REQUIRED', tabPanel.getItem(tabActivate[tab]).title));
node.focus(true,10);
return false;
}
field = field == 'IND_TITLE' ? 'DAS_IND_TITLE' : field;
field = field == 'IND_TYPE' ? 'DAS_IND_TYPE' : field;
field = field == 'IND_PROCESS' ? 'DAS_UID_PROCESS' : field;
field = field == 'IND_GOAL' ? 'DAS_IND_GOAL' : field;
data[field] = value.trim();
} }
saveDashboardIndicator(data); saveDashboardIndicator(data);
} }