BUG 8742 Migrate Processmaker Heartbeat to ExtJS SOLVED
- Migrate Processmaker Heartbeat to ExtJS (from master branch) - Heartbeat ExtJS migrated from the master branch.
This commit is contained in:
30
workflow/engine/methods/setup/processHeartBeatAjax.php
Normal file
30
workflow/engine/methods/setup/processHeartBeatAjax.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
switch($_GET['action']){
|
||||
case 'saveOption':
|
||||
try {
|
||||
G::LoadClass('serverConfiguration');
|
||||
$oServerConf =& serverConf::getSingleton();
|
||||
|
||||
/*you can use SYS_TEMP or SYS_SYS ON HEAR_BEAT_CONF to save for each workspace*/
|
||||
$oServerConf->unsetHeartbeatProperty('HB_BEAT_TYPE', 'HEART_BEAT_CONF');
|
||||
if (isset($_POST['acceptHB'])) {
|
||||
$oServerConf->setHeartbeatProperty('HB_OPTION', 1, 'HEART_BEAT_CONF');
|
||||
$oServerConf->unsetHeartbeatProperty('HB_NEXT_BEAT_DATE', 'HEART_BEAT_CONF');
|
||||
$response->enable = true;
|
||||
}
|
||||
else {
|
||||
$oServerConf->setHeartbeatProperty('HB_OPTION', 0, 'HEART_BEAT_CONF');
|
||||
$oServerConf->unsetHeartbeatProperty('HB_NEXT_BEAT_DATE', 'HEART_BEAT_CONF');
|
||||
$oServerConf->setHeartbeatProperty('HB_BEAT_TYPE', 'endbeat', 'HEART_BEAT_CONF');
|
||||
$response->enable = false;
|
||||
}
|
||||
$response->success = true;
|
||||
|
||||
} catch ( Exception $e ) {
|
||||
$response->success = false;
|
||||
$response->msg = $e->getMessage();
|
||||
}
|
||||
echo G::json_encode($response);
|
||||
break;
|
||||
}
|
||||
@@ -1,61 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
* main.php Cases List main processor
|
||||
*
|
||||
* ProcessMaker Open Source Edition
|
||||
* Copyright (C) 2004 - 2010 Colosa Inc.23
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
|
||||
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
||||
*
|
||||
*/
|
||||
$oHeadPublisher =& headPublisher::getSingleton();
|
||||
G::LoadClass('serverConfiguration');
|
||||
$oServerConf =& serverConf::getSingleton();
|
||||
|
||||
if($RBAC->userCanAccess('PM_SETUP') != 1 && $RBAC->userCanAccess('PM_SETUP_ADVANCE') != 1){
|
||||
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
|
||||
//G::header('location: ../login/login');
|
||||
die;
|
||||
}
|
||||
//you can use SYS_TEMP or SYS_SYS ON HEAR_BEAT_CONF to save for each workspace
|
||||
$sflag = $oServerConf->getHeartbeatProperty('HB_OPTION', 'HEART_BEAT_CONF');
|
||||
$heartBeatChecked = $sflag == 1? true: false;
|
||||
|
||||
try {
|
||||
|
||||
$G_PUBLISH = new Publisher;
|
||||
|
||||
G::LoadClass('serverConfiguration');
|
||||
$oServerConf =& serverConf::getSingleton();
|
||||
/*you can use SYS_TEMP or SYS_SYS ON HEAR_BEAT_CONF to save for each workspace*/
|
||||
$sflag = $oServerConf->getHeartbeatProperty('HB_OPTION','HEART_BEAT_CONF');
|
||||
if(($sflag)||(is_null($sflag))){
|
||||
$aRow['HB_OPTION']='1';
|
||||
|
||||
$nextBeatDate = $oServerConf->getHeartbeatProperty('HB_NEXT_BEAT_DATE','HEART_BEAT_CONF');
|
||||
$nextBeatMessage=" ".G::LoadTranslation("ID_NEXT_BEAT");
|
||||
|
||||
if(is_null($nextBeatDate)){
|
||||
$nextBeatMessage.=" ".G::LoadTranslation("ID_NEXT_BEAT_LOGIN");
|
||||
}else{
|
||||
$nextBeatMessage.=" ".date("Y-m-d H:i:s",$nextBeatDate);
|
||||
}
|
||||
$aRow['HB_MESSAGE']=$nextBeatMessage;
|
||||
}else{
|
||||
$aRow['HB_OPTION']='0';
|
||||
$aRow['HB_MESSAGE']="";
|
||||
}
|
||||
|
||||
|
||||
if($oServerConf->getHeartbeatProperty('HB_BEAT_TYPE','HEART_BEAT_CONF')=="endbeat"){
|
||||
$oHeadPublisher =& headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptCode('
|
||||
|
||||
function processHbInfo(){
|
||||
ajax_server="../services/processHeartBeat_Ajax.php";
|
||||
parameters="action=processInformation";
|
||||
method="POST";
|
||||
callback="";
|
||||
asynchronous=true;
|
||||
ajax_post(ajax_server, parameters, method, callback, asynchronous );
|
||||
}
|
||||
processHbInfo();
|
||||
');
|
||||
}
|
||||
$G_PUBLISH->AddContent ( 'xmlform', 'xmlform', 'setup/processHeartBeatConfig', '', $aRow, 'processHeartBeatSave' );
|
||||
$oHeadPublisher->addExtJsScript('setup/processHeartBeatConfig', true ); //adding a javascript file .js
|
||||
|
||||
$oHeadPublisher->assign('heartBeatChecked', $heartBeatChecked);
|
||||
G::RenderPage('publish', 'extJs');
|
||||
|
||||
G::RenderPage('publishBlank', 'blank');
|
||||
|
||||
}
|
||||
catch ( Exception $e ) {
|
||||
$G_PUBLISH = new Publisher;
|
||||
$aMessage['MESSAGE'] = $e->getMessage();
|
||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
||||
G::RenderPage( 'publishBlank', 'blank' );
|
||||
}
|
||||
?>
|
||||
78
workflow/engine/templates/setup/processHeartBeatConfig.js
Normal file
78
workflow/engine/templates/setup/processHeartBeatConfig.js
Normal file
@@ -0,0 +1,78 @@
|
||||
Ext.onReady(function() {
|
||||
HeartFields = new Ext.form.FieldSet({
|
||||
|
||||
title : _('ID_HEARTBEAT_DISPLAY'),
|
||||
items : [
|
||||
{
|
||||
xtype : 'checkbox',
|
||||
checked : heartBeatChecked,
|
||||
name : 'acceptHB',
|
||||
fieldLabel : 'Terms of Use',
|
||||
hideLabel : true,
|
||||
id : 'ch_ii',
|
||||
style : 'margin-top:15px',
|
||||
boxLabel : '<b>' + _('ID_ENABLE_HEART_BEAT') + '</b>'
|
||||
|
||||
},
|
||||
{
|
||||
xtype : 'box',
|
||||
autoEl : { tag : 'div',
|
||||
html : '<br />' + _('ID_HEART_BEAT_DETAILS_1') + _('ID_HEART_BEAT_DETAILS_2')
|
||||
+ '<br>' + _('ID_SEE') + ' <a href="' + 'http://wiki.processmaker.com/index.php/Heartbeat'
|
||||
+ '" target="_blank" align="center">' + _('ID_MORE_INFORMATION') + '</a>.'
|
||||
},
|
||||
style : 'margin-left:20px'
|
||||
},
|
||||
],
|
||||
buttons : [{
|
||||
text : _('ID_SAVE'),
|
||||
handler : saveOption
|
||||
}]
|
||||
});
|
||||
|
||||
|
||||
var frm = new Ext.FormPanel( {
|
||||
title : ' ',
|
||||
id : 'frmHeart',
|
||||
labelWidth : 150,
|
||||
width : 600,
|
||||
labelAlign : 'right',
|
||||
autoScroll : true,
|
||||
bodyStyle : 'padding:2px',
|
||||
waitMsgTarget : true,
|
||||
frame : true,
|
||||
|
||||
defaults: {
|
||||
allowBlank : false,
|
||||
msgTarget : 'side',
|
||||
align : 'center'
|
||||
},
|
||||
items : [ HeartFields ]
|
||||
|
||||
});
|
||||
//render to process-panel
|
||||
frm.render(document.body);
|
||||
});
|
||||
|
||||
function saveOption() {
|
||||
Ext.getCmp('frmHeart').getForm().submit( {
|
||||
url : 'processHeartBeatAjax?action=saveOption',
|
||||
waitMsg : _('ID_SAVING_PROCESS'),
|
||||
timeout : 36000,
|
||||
success : function(obj, resp) {
|
||||
//nothing to do
|
||||
response = Ext.decode(resp.response.responseText);
|
||||
if (response.enable) {
|
||||
parent.PMExt.notify(_('ID_HEARTBEAT_DISPLAY'), _('ID_HEART_BEAT_ENABLED'));
|
||||
}
|
||||
else {
|
||||
parent.PMExt.notify(_('ID_HEARTBEAT_DISPLAY'), _('ID_HEART_BEAT_DISABLED'));
|
||||
}
|
||||
},
|
||||
failure : function(obj, resp) {
|
||||
Ext.Msg.alert( _('ID_ERROR'), resp.result.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user