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

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

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'),
('400','ID_YEAR','PERIODICITY','','','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'),
('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'),

View File

@@ -55,7 +55,7 @@ if ($RBAC->userCanAccess('PM_SETUP') == 1 || $RBAC->userCanAccess('PM_USERS') ==
// NEW DASHBOARD MODULE
$licensedFeatures = & PMLicensedFeatures::getSingleton();
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_ON_TIME
)
SELECT
APPLICATION.PRO_UID,
DATE_FORMAT(APPLICATION.APP_INIT_DATE, '%m') AS `MONTH`,

View File

@@ -506,7 +506,7 @@ Ext.onReady( function() {
enableTabScroll : true,
//anchor : '98%',
width : '100%',
height : 300,
height : 315,
defaults : {
autoScroll :true
},
@@ -663,7 +663,7 @@ Ext.onReady( function() {
{
text : _('ID_CANCEL'),
id : 'cancel',
handler : function(){
handler : function() {
window.location = 'dashboardList';
}
}
@@ -726,13 +726,14 @@ var addTab = function (flag) {
return false;
}
var tab = {
//title : _('ID_INDICATOR') + (++indexTab),
title : _('ID_INDICATOR')+ ' '+ (++indexTab),
id : indexTab,
iconCls : 'tabs',
width : "100%",
items : [
new Ext.Panel({
height : 260,
height : 275,
width : "100%",
border : true,
bodyStyle : 'padding:10px',
items : [
@@ -792,7 +793,11 @@ var addTab = function (flag) {
}),
new Ext.form.FieldSet({
title : _('ID_INDICATOR_GOAL'),
bodyStyle: 'paddingLeft: 143px',
width : "90%",
id : 'fieldSet_'+ indexTab,
bodyStyle: 'paddingLeft: 75px;',
paddingLeft: "30px",
marginLeft : "60px",
layout : 'hbox',
items : [
new Ext.form.ComboBox({
@@ -826,7 +831,18 @@ var addTab = function (flag) {
width : 80,
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({
anchor : '85%',
@@ -1065,6 +1081,11 @@ var saveAllIndicators = function (DAS_UID) {
}
tabPanel.getItem(tabActivate[tab]).show();
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['DAS_UID'] = DAS_UID;
@@ -1076,54 +1097,38 @@ var saveAllIndicators = function (DAS_UID) {
}
id = node.id;
id = id.split('_');
field = '';
for (var part = 0; part<id.length-1; part++) {
if (part == 0) {
field = id[part];
} else {
field = field+'_'+id[part];
}
}
value = node.getValue();
switch (index) {
case "0":
data['DAS_IND_UID'] = value.trim();
break;
case "1":
if (value.trim() == '') {
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;
}
data['DAS_IND_TITLE'] = value.trim();
break;
case "2":
if (value.trim() == '') {
} 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;
}
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() == '') {
} 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;
}
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;
}
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);
}