Improvement save form Dashboards
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
@@ -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'),
|
||||
|
||||
@@ -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');
|
||||
}
|
||||
/*----------------------------------********---------------------------------*/
|
||||
|
||||
|
||||
@@ -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`,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user