FEATURE Adding "Maintenance" interface and controller action
- First maintenance taskk to resgister the PM Web designer (Rest Client)
This commit is contained in:
@@ -17,12 +17,12 @@ class Admin extends Controller
|
|||||||
{
|
{
|
||||||
require_once PATH_CONTROLLERS . 'main.php';
|
require_once PATH_CONTROLLERS . 'main.php';
|
||||||
G::loadClass( 'system' );
|
G::loadClass( 'system' );
|
||||||
$skinsList = System::getSkingList();
|
$skinsList = System::getSkingList();
|
||||||
foreach ($skinsList['skins'] as $key => $value) {
|
foreach ($skinsList['skins'] as $key => $value) {
|
||||||
if ($value['SKIN_WORKSPACE'] != 'Global') {
|
if ($value['SKIN_WORKSPACE'] != 'Global') {
|
||||||
unset( $skinsList['skins'][$key] );
|
unset( $skinsList['skins'][$key] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$skins = array ();
|
$skins = array ();
|
||||||
$timeZonesList = System::getAllTimeZones();
|
$timeZonesList = System::getAllTimeZones();
|
||||||
$timeZonesList = array_keys( $timeZonesList );
|
$timeZonesList = array_keys( $timeZonesList );
|
||||||
@@ -39,16 +39,16 @@ class Admin extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->includeExtJS( 'admin/system' );
|
$this->includeExtJS( 'admin/system' );
|
||||||
//G::LoadClass('configuration');
|
//G::LoadClass('configuration');
|
||||||
|
|
||||||
// $c = new Configurations();
|
// $c = new Configurations();
|
||||||
// $configPage = $c->getConfiguration('usersList', 'pageSize','',$_SESSION['USER_LOGGED']);
|
// $configPage = $c->getConfiguration('usersList', 'pageSize','',$_SESSION['USER_LOGGED']);
|
||||||
// $Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
|
// $Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
|
||||||
if (isset($sysConf["session.gc_maxlifetime"])) {
|
if (isset($sysConf["session.gc_maxlifetime"])) {
|
||||||
$sysConf["session_gc_maxlifetime"] = $sysConf["session.gc_maxlifetime"];
|
$sysConf["session_gc_maxlifetime"] = $sysConf["session.gc_maxlifetime"];
|
||||||
} else {
|
} else {
|
||||||
$sysConf["session_gc_maxlifetime"] = ini_get('session.gc_maxlifetime');
|
$sysConf["session_gc_maxlifetime"] = ini_get('session.gc_maxlifetime');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->setJSVar( 'skinsList', $skins );
|
$this->setJSVar( 'skinsList', $skins );
|
||||||
$this->setJSVar( 'languagesList', $languagesList );
|
$this->setJSVar( 'languagesList', $languagesList );
|
||||||
@@ -84,7 +84,7 @@ class Admin extends Controller
|
|||||||
public function calendarEdit ($httpData)
|
public function calendarEdit ($httpData)
|
||||||
{
|
{
|
||||||
global $RBAC;
|
global $RBAC;
|
||||||
//$RBAC->requirePermissions('PM_SETUP_ADVANCE');
|
//$RBAC->requirePermissions('PM_SETUP_ADVANCE');
|
||||||
G::LoadClass( 'configuration' );
|
G::LoadClass( 'configuration' );
|
||||||
G::LoadClass( 'calendar' );
|
G::LoadClass( 'calendar' );
|
||||||
|
|
||||||
@@ -95,18 +95,18 @@ class Admin extends Controller
|
|||||||
$fields = $calendarObj->getCalendarInfoE( $CalendarUid );
|
$fields = $calendarObj->getCalendarInfoE( $CalendarUid );
|
||||||
$fields['OLD_NAME'] = $fields['CALENDAR_NAME'];
|
$fields['OLD_NAME'] = $fields['CALENDAR_NAME'];
|
||||||
}
|
}
|
||||||
// For a new Calendar
|
// For a new Calendar
|
||||||
if (! isset( $fields['CALENDAR_UID'] )) {
|
if (! isset( $fields['CALENDAR_UID'] )) {
|
||||||
$fields['CALENDAR_UID'] = $CalendarUid;
|
$fields['CALENDAR_UID'] = $CalendarUid;
|
||||||
$fields['OLD_NAME'] = '';
|
$fields['OLD_NAME'] = '';
|
||||||
|
|
||||||
//Default Business Hour
|
//Default Business Hour
|
||||||
$fields['BUSINESS_DAY'][1]['CALENDAR_BUSINESS_DAY'] = 7;
|
$fields['BUSINESS_DAY'][1]['CALENDAR_BUSINESS_DAY'] = 7;
|
||||||
$fields['BUSINESS_DAY'][1]['CALENDAR_BUSINESS_START'] = "09:00";
|
$fields['BUSINESS_DAY'][1]['CALENDAR_BUSINESS_START'] = "09:00";
|
||||||
$fields['BUSINESS_DAY'][1]['CALENDAR_BUSINESS_END'] = "17:00";
|
$fields['BUSINESS_DAY'][1]['CALENDAR_BUSINESS_END'] = "17:00";
|
||||||
}
|
}
|
||||||
// Copy Calendar
|
// Copy Calendar
|
||||||
if ((isset( $_GET['cp'] )) && ($_GET['cp'] == 1)) {
|
if ((isset( $_GET['cp'] )) && ($_GET['cp'] == 1)) {
|
||||||
$fields['CALENDAR_UID'] = G::GenerateUniqueID();
|
$fields['CALENDAR_UID'] = G::GenerateUniqueID();
|
||||||
$fields['CALENDAR_NAME'] = G::LoadTranslation( "ID_COPY_OF" ) . " " . $fields['CALENDAR_NAME'];
|
$fields['CALENDAR_NAME'] = G::LoadTranslation( "ID_COPY_OF" ) . " " . $fields['CALENDAR_NAME'];
|
||||||
$fields['OLD_NAME'] = $fields['CALENDAR_NAME'];
|
$fields['OLD_NAME'] = $fields['CALENDAR_NAME'];
|
||||||
@@ -125,7 +125,7 @@ class Admin extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$fields['BUSINESS_DAY'] = $businessDayArray;
|
$fields['BUSINESS_DAY'] = $businessDayArray;
|
||||||
//validating if the calendar is new, it means that we don't have the $_GET array
|
//validating if the calendar is new, it means that we don't have the $_GET array
|
||||||
$fields['HOLIDAY'] = (isset( $_GET['id'] ) && $_GET['id'] != '') ? $fields['HOLIDAY'] : array ();
|
$fields['HOLIDAY'] = (isset( $_GET['id'] ) && $_GET['id'] != '') ? $fields['HOLIDAY'] : array ();
|
||||||
$holidayArray = array ();
|
$holidayArray = array ();
|
||||||
for ($i = 0; $i < sizeof( $fields['HOLIDAY'] ); $i ++) {
|
for ($i = 0; $i < sizeof( $fields['HOLIDAY'] ); $i ++) {
|
||||||
@@ -156,7 +156,7 @@ class Admin extends Controller
|
|||||||
|
|
||||||
$RBAC->requirePermissions( 'PM_SETUP_ADVANCE' );
|
$RBAC->requirePermissions( 'PM_SETUP_ADVANCE' );
|
||||||
$this->includeExtJS( 'admin/emails' );
|
$this->includeExtJS( 'admin/emails' );
|
||||||
//render content
|
//render content
|
||||||
G::RenderPage( 'publish', 'extJs' );
|
G::RenderPage( 'publish', 'extJs' );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,7 +178,7 @@ class Admin extends Controller
|
|||||||
$this->includeExtJS( 'admin/pmLogo' );
|
$this->includeExtJS( 'admin/pmLogo' );
|
||||||
$this->setView( 'admin/pmLogo' );
|
$this->setView( 'admin/pmLogo' );
|
||||||
|
|
||||||
//assigning js variables
|
//assigning js variables
|
||||||
$this->setJSVar( 'FORMATS', $c->getFormats() );
|
$this->setJSVar( 'FORMATS', $c->getFormats() );
|
||||||
$this->setJSVar( 'CONFIG', $Config );
|
$this->setJSVar( 'CONFIG', $Config );
|
||||||
$this->setJSVar( 'PRO_UID', isset( $_GET['PRO_UID'] ) ? $_GET['PRO_UID'] : false );
|
$this->setJSVar( 'PRO_UID', isset( $_GET['PRO_UID'] ) ? $_GET['PRO_UID'] : false );
|
||||||
@@ -190,8 +190,14 @@ class Admin extends Controller
|
|||||||
if (isset( $_SESSION['ADD_TAB_UID'] )) {
|
if (isset( $_SESSION['ADD_TAB_UID'] )) {
|
||||||
unset( $_SESSION['ADD_TAB_UID'] );
|
unset( $_SESSION['ADD_TAB_UID'] );
|
||||||
}
|
}
|
||||||
//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