FEATURE Adding "Maintenance" interface and controller action
- First maintenance taskk to resgister the PM Web designer (Rest Client)
This commit is contained in:
@@ -193,5 +193,11 @@ class Admin extends Controller
|
||||
//render content
|
||||
G::RenderPage( 'publish', 'extJs' );
|
||||
}
|
||||
|
||||
public function maintenance()
|
||||
{
|
||||
$this->setView('admin/maintenance');
|
||||
$this->render('extJs');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1255,5 +1255,61 @@ class adminProxy extends HttpProxyController
|
||||
die;
|
||||
exit();
|
||||
}
|
||||
|
||||
public function getMaintenanceInfo()
|
||||
{
|
||||
$data = array('info' => array());
|
||||
//$oauthClients = new OauthClients();
|
||||
//$oauthClients->
|
||||
$pmRestClient = OauthClientsPeer::retrieveByPK('x-pm-local-client');
|
||||
|
||||
$statuses['pm_rest_client'] = (!empty($pmRestClient));
|
||||
|
||||
//$data = $pmRestClient->toArray(BasePeer::TYPE_COLNAME);
|
||||
|
||||
$data['info'] = array(
|
||||
array(
|
||||
'name' => 'PM Web Designer (REST Client)',
|
||||
'value' => ($statuses['pm_rest_client']? 'Registered' : 'Not Registered'),
|
||||
'value_ok' => $statuses['pm_rest_client'],
|
||||
'option' => array(
|
||||
'label' => ($statuses['pm_rest_client']? 'Restore' : 'Register'),
|
||||
'action' => 'doRegisterPMDesignerClient'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function registerPMDesignerClient()
|
||||
{
|
||||
$result = array();
|
||||
|
||||
try {
|
||||
|
||||
$pmRestClient = OauthClientsPeer::retrieveByPK('x-pm-local-client');
|
||||
if (! empty($pmRestClient)) {
|
||||
$pmRestClient->delete();
|
||||
}
|
||||
|
||||
$oauthClients = new OauthClients();
|
||||
$oauthClients->setClientId('x-pm-local-client');
|
||||
$oauthClients->setClientSecret('179ad45c6ce2cb97cf1029e212046e81');
|
||||
$oauthClients->setClientName('PM Web Designer');
|
||||
$oauthClients->setClientDescription('ProcessMaker Web Designer App');
|
||||
$oauthClients->setClientWebsite('www.processmaker.com');
|
||||
$oauthClients->setRedirectUri('http://pmos/sysworkflow/en/neoclassic/services/oauth2_grant');
|
||||
$oauthClients->save();
|
||||
|
||||
$result['success'] = true;
|
||||
$result['message'] = '';
|
||||
} catch (Exception $e) {
|
||||
$result['success'] = false;
|
||||
$result['message'] = $e->getMessage();
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -100,5 +100,5 @@ if ($RBAC->userCanAccess('PM_SETUP') == 1) {
|
||||
if ($RBAC->userCanAccess("PM_SETUP") == 1) {
|
||||
$G_TMP_MENU->AddIdRawOption("PM_REQUIREMENTS", "../setup/systemInfo", G::LoadTranslation("ID_PROCESSMAKER_REQUIREMENTS_CHECK"), "", "", "settings");
|
||||
$G_TMP_MENU->AddIdRawOption("PHP_INFO", "../setup/systemInfo?option=php", G::LoadTranslation("ID_PHP_INFO"), "", "", "settings");
|
||||
$G_TMP_MENU->AddIdRawOption("PHP_MAINTENANCE", "../admin/maintenance", 'Maintenance', "", "", "settings");
|
||||
}
|
||||
|
||||
|
||||
91
workflow/engine/templates/admin/maintenance.html
Normal file
91
workflow/engine/templates/admin/maintenance.html
Normal file
@@ -0,0 +1,91 @@
|
||||
<script>
|
||||
Ext.onReady(main);
|
||||
var infoGrid;
|
||||
var store;
|
||||
|
||||
function main()
|
||||
{
|
||||
store = new Ext.data.Store( {
|
||||
autoLoad: true,
|
||||
proxy: new Ext.data.HttpProxy({
|
||||
url: '../adminProxy/getMaintenanceInfo',
|
||||
method: 'POST'
|
||||
}),
|
||||
baseParams : { request : 'info'},
|
||||
reader : new Ext.data.JsonReader( {
|
||||
root : 'info',
|
||||
fields : [
|
||||
{name : 'name'},
|
||||
{name : 'value'},
|
||||
{name : 'value_ok'},
|
||||
{name : 'option'}
|
||||
]
|
||||
})
|
||||
});
|
||||
|
||||
infoGrid = new Ext.grid.GridPanel({
|
||||
title : 'Maintenance',
|
||||
stripeRows : true,
|
||||
autoHeight : true,
|
||||
width : 550,
|
||||
enableColumnHide: false,
|
||||
enableColumnResize: false,
|
||||
enableHdMenu: false,
|
||||
disableSelection: true,
|
||||
loading: true,
|
||||
store : store,
|
||||
columns : [
|
||||
{
|
||||
id : 'name',
|
||||
header : 'Application',
|
||||
width : 350,
|
||||
sortable : false,
|
||||
dataIndex : 'name'
|
||||
},
|
||||
{
|
||||
header : 'Status',
|
||||
width : 100,
|
||||
sortable : false,
|
||||
dataIndex : 'value',
|
||||
renderer: function(val, el, row){
|
||||
if(row.data.value_ok) {
|
||||
return '<font color="green">'+val+'</font>';
|
||||
} else {
|
||||
return '<font color="red">'+val+'</font>';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
header : '',
|
||||
width : 100,
|
||||
sortable : false,
|
||||
dataIndex : 'option',
|
||||
renderer: function(val, el, row){
|
||||
return '<a href="#" onclick="'+val.action+'(); return false;">'+val.label+'</a>';
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
infoGrid.render(document.body)
|
||||
}
|
||||
|
||||
function doRegisterPMDesignerClient()
|
||||
{
|
||||
Ext.Ajax.request({
|
||||
url: '../adminProxy/registerPMDesignerClient',
|
||||
method: 'POST',
|
||||
params: {},
|
||||
waitMsg: 'Registering, please wait!',
|
||||
success: function(r, o){
|
||||
var resp = Ext.util.JSON.decode(r.responseText);
|
||||
|
||||
console.log(resp);
|
||||
store.reload();
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
</script>
|
||||
Reference in New Issue
Block a user