diff --git a/workflow/engine/menus/setup.php b/workflow/engine/menus/setup.php index fc10ddfe2..6392f8f76 100755 --- a/workflow/engine/menus/setup.php +++ b/workflow/engine/menus/setup.php @@ -24,6 +24,7 @@ */ global $G_TMP_MENU; global $RBAC; +$partnerFlag = (defined('PARTNER_FLAG')) ? PARTNER_FLAG : false; if ($RBAC->userCanAccess('PM_SETUP') == 1 ) { //settings options @@ -42,7 +43,10 @@ if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1) { if ($RBAC->userCanAccess('PM_SETUP') == 1 ) { $G_TMP_MENU->AddIdRawOption('SKINS', 'skinsList', G::LoadTranslation('ID_SKINS'), 'icon-skins.png', '', 'settings'); - $G_TMP_MENU->AddIdRawOption('HEARTBEAT', 'processHeartBeatConfig', G::LoadTranslation('ID_HEARTBEAT_CONFIG'), "heartBeat.jpg",'', 'settings'); + if (!$partnerFlag) { + $G_TMP_MENU->AddIdRawOption('HEARTBEAT', 'processHeartBeatConfig', G::LoadTranslation('ID_HEARTBEAT_CONFIG'), "heartBeat.jpg",'', 'settings'); + } + $G_TMP_MENU->AddIdRawOption('ENVIRONMENT_SETTINGS', 'environmentSettings', G::LoadTranslation('ID_ENVIRONMENT_SETTINGS'), "",'', 'settings'); } @@ -63,7 +67,6 @@ if ($RBAC->userCanAccess('PM_SETUP') == 1) { } //tools options if ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1 ) { - $partnerFlag = (defined('PARTNER_FLAG')) ? PARTNER_FLAG : false; if (!$partnerFlag) { $G_TMP_MENU->AddIdRawOption('PLUGINS', 'pluginsMain', 'Plugins Manager', 'icon-plugins.png', '', 'plugins'); } diff --git a/workflow/engine/methods/cases/ajaxListener.php b/workflow/engine/methods/cases/ajaxListener.php index 39c485986..bae69fd36 100755 --- a/workflow/engine/methods/cases/ajaxListener.php +++ b/workflow/engine/methods/cases/ajaxListener.php @@ -490,7 +490,7 @@ class Ajax public function pauseCase() { try { - $unpauseDate = $_REQUEST['unpauseDate']; + $unpauseDate = $_REQUEST['unpauseDate'] . ' '. $_REQUEST['unpauseTime']; $oCase = new Cases(); if (isset($_POST['APP_UID']) && isset($_POST['DEL_INDEX'])) { $APP_UID = $_POST['APP_UID']; diff --git a/workflow/engine/methods/cases/cases_Ajax.php b/workflow/engine/methods/cases/cases_Ajax.php index 118a5e038..ddb52047d 100755 --- a/workflow/engine/methods/cases/cases_Ajax.php +++ b/workflow/engine/methods/cases/cases_Ajax.php @@ -372,7 +372,7 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) { // End save - $unpauseDate = $_POST['unpausedate']; + $unpauseDate = $_POST['unpausedate'] . ' '. $_REQUEST['unpauseTime']; $oCase = new Cases(); if (isset( $_POST['APP_UID'] ) && isset( $_POST['DEL_INDEX'] )) { $APP_UID = $_POST['APP_UID']; diff --git a/workflow/engine/methods/cases/open.php b/workflow/engine/methods/cases/open.php index 10cf0588e..79fe84a11 100755 --- a/workflow/engine/methods/cases/open.php +++ b/workflow/engine/methods/cases/open.php @@ -81,7 +81,7 @@ $oStep = $oStep->loadByProcessTaskPosition( $case['PRO_UID'], $case['TAS_UID'], $oHeadPublisher->assign( 'uri', $script . $uri ); $oHeadPublisher->assign( '_APP_NUM', '#: ' . $case['APP_NUMBER'] ); $oHeadPublisher->assign( '_ENV_CURRENT_DATE', $conf->getSystemDate( date( 'Y-m-d' ) ) ); -$oHeadPublisher->assign( '_ENV_CURRENT_DATE_NO_FORMAT', date( 'Y-m-d' ) ); +$oHeadPublisher->assign( '_ENV_CURRENT_DATE_NO_FORMAT', date( 'Y-m-d-h-i-A' ) ); $oHeadPublisher->assign( 'idfirstform', is_null( $oStep ) ? '' : $oStep->getStepUidObj() ); G::RenderPage( 'publish', 'extJs' ); diff --git a/workflow/engine/templates/cases/casesList.js b/workflow/engine/templates/cases/casesList.js index 47af27fd5..e379281db 100644 --- a/workflow/engine/templates/cases/casesList.js +++ b/workflow/engine/templates/cases/casesList.js @@ -23,6 +23,17 @@ var storeReassignCases; var grid; var textJump; +function formatAMPM(date, initVal) { + var hours = date.getHours(); + var minutes = (initVal === true)? ((date.getMinutes()<15)? 0: ((date.getMinutes()<30)? 15: ((date.getMinutes()<45)? 30: 45))): date.getMinutes(); + var ampm = hours >= 12 ? 'PM' : 'AM'; + hours = hours % 12; + hours = hours ? hours : 12; // the hour '0' should be '12' + minutes = minutes < 10 ? '0' + minutes : minutes; + var strTime = hours + ':' + minutes + ' ' + ampm; + return strTime; +} + Ext.Ajax.timeout = 4 * 60 * 1000; var caseSummary = function() { @@ -202,6 +213,14 @@ function pauseCase(date){ { html: '
' + _('ID_PAUSE_CASE_TO_DATE') +' '+date.format('M j, Y')+'?

' }, + new Ext.form.TimeField({ + id: 'unpauseTime', + fieldLabel: _('ID_UNPAUSE_TIME'), + name: 'unpauseTime', + value: formatAMPM(new Date(), false), + minValue: formatAMPM(new Date(), true), + format: 'h:i A' + }), { xtype: 'textarea', id: 'noteReason', @@ -251,7 +270,15 @@ function pauseCase(date){ Ext.MessageBox.hide(); msgPause.close(); }, - params: {action:'pauseCase', unpausedate:unpauseDate, APP_UID:rowModel.data.APP_UID, DEL_INDEX: rowModel.data.DEL_INDEX, NOTE_REASON: noteReasonTxt, NOTIFY_PAUSE: notifyReasonVal} + params: { + action: 'pauseCase', + unpausedate: unpauseDate, + unpauseTime: Ext.getCmp('unpauseTime').getValue(), + APP_UID: rowModel.data.APP_UID, + DEL_INDEX: rowModel.data.DEL_INDEX, + NOTE_REASON: noteReasonTxt, + NOTIFY_PAUSE: notifyReasonVal + } }); } },{ diff --git a/workflow/engine/templates/cases/open.js b/workflow/engine/templates/cases/open.js index 1ddef4aec..ac45e2f30 100755 --- a/workflow/engine/templates/cases/open.js +++ b/workflow/engine/templates/cases/open.js @@ -21,6 +21,17 @@ ActionTabFrameGlobal.tabName = ''; ActionTabFrameGlobal.tabTitle = ''; ActionTabFrameGlobal.tabData = ''; +function formatAMPM(date, initVal) { + var hours = date.getHours(); + var minutes = (initVal === true)? ((date.getMinutes()<15)? 0: ((date.getMinutes()<30)? 15: ((date.getMinutes()<45)? 30: 45))): date.getMinutes(); + var ampm = hours >= 12 ? 'PM' : 'AM'; + hours = hours % 12; + hours = hours ? hours : 12; // the hour '0' should be '12' + minutes = minutes < 10 ? '0'+minutes : minutes; + var strTime = hours + ':' + minutes + ' ' + ampm; + return strTime; +} + Ext.onReady(function(){ openToRevisePanel = function() { var treeToRevise = new Ext.tree.TreePanel({ @@ -669,6 +680,7 @@ Ext.onReady(function(){ nDay = '' + (parseInt(curDate[2])+1); nDay = nDay.length == 1 ? '0' + nDay : nDay; filterDate += nDay; + filterTime = ('0' + curDate[3]).slice(-2) + ':' + ('0' + curDate[4]).slice(-2) + ' ' + curDate[5]; var fieldset = { xtype : 'fieldset', @@ -692,6 +704,14 @@ Ext.onReady(function(){ value: filterDate, minValue: filterDate }), + new Ext.form.TimeField({ + id: 'unpauseTime', + fieldLabel: _('ID_UNPAUSE_TIME'), + name: 'unpauseTime', + value: filterTime, + minValue: formatAMPM(new Date(), true), + format: 'h:i A' + }), { xtype: 'textarea', id: 'noteReason', @@ -726,15 +746,15 @@ Ext.onReady(function(){ id: 'unpauseFrm', labelAlign : 'right', //bodyStyle : 'padding:5px 5px 0', - width : 250, + width : 260, items : [fieldset] }); var win = new Ext.Window({ title: _('ID_PAUSE_CASE'), - width: 370, - height: 230, + width: 380, + height: 250, layout:'fit', autoScroll:true, modal: true, @@ -755,20 +775,22 @@ Ext.onReady(function(){ var paramsNote = '&NOTE_REASON=' + noteReasonTxt + '&NOTIFY_PAUSE=' + notifyReasonVal; var unpauseDate = Ext.getCmp('unpauseDate').getValue(); + var vUnpauseTime = Ext.getCmp('unpauseTime').getValue(); if( unpauseDate == '') { //Ext.getCmp('submitPauseCase').setDisabled(true); return; - } else + } else { //Ext.getCmp('submitPauseCase').enable(); - - unpauseDate = unpauseDate.format('Y-m-d'); + unpauseDate = unpauseDate.format('Y-m-d'); + } Ext.getCmp('unpauseFrm').getForm().submit({ url:'ajaxListener', method : 'post', params : { action: 'pauseCase', - unpauseDate:unpauseDate, + unpauseDate: unpauseDate, + unpauseTime: vUnpauseTime, NOTE_REASON: noteReasonTxt, NOTIFY_PAUSE: notifyReasonVal },