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
|
//render content
|
||||||
G::RenderPage( 'publish', 'extJs' );
|
G::RenderPage( 'publish', 'extJs' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function maintenance()
|
||||||
|
{
|
||||||
|
$this->setView('admin/maintenance');
|
||||||
|
$this->render('extJs');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1255,5 +1255,61 @@ class adminProxy extends HttpProxyController
|
|||||||
die;
|
die;
|
||||||
exit();
|
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) {
|
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("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_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