updated cron endpoint + cron.jsx

This commit is contained in:
Jonathan Labreuille
2016-08-11 12:36:17 +02:00
parent a3c56b84ce
commit de6d7e0cae
3 changed files with 41 additions and 33 deletions

View File

@ -19,14 +19,15 @@ define(
MailPoet.Ajax.post({
endpoint: 'cron',
action: 'getStatus'
})
.done(function(response) {
if(response.status !== undefined) {
this.setState(response);
} else {
this.replaceState();
}
}.bind(this));
}).done((response) => {
this.setState({
status: response.data.status
});
}).fail((response) => {
this.setState({
status: false
});
});
},
componentDidMount: function() {
if(this.isMounted()) {
@ -35,26 +36,28 @@ define(
}
},
render: function() {
let status;
switch(this.state.status) {
case 'loading':
return(
<div>
{MailPoet.I18n.t('loadingDaemonStatus')}
</div>
);
case false:
return(
<div>
{MailPoet.I18n.t('daemonNotRunning')}
</div>
);
default:
return(
<div>
{MailPoet.I18n.t('cronDaemonState').replace('%$1s', this.state.status)}
</div>
);
case 'stopping':
case 'stopped':
status = MailPoet.I18n.t('cronDaemonIsNotRunning');
break;
case 'starting':
case 'started':
status = MailPoet.I18n.t('cronDaemonIsRunning');
break;
case 'loading':
status = MailPoet.I18n.t('loadingDaemonStatus');
break;
}
return (
<div>
{ status }
</div>
);
}
});

View File

@ -1,16 +1,23 @@
<?php
namespace MailPoet\API\Endpoints;
use \MailPoet\API\Endpoint as APIEndpoint;
use \MailPoet\API\Error as APIError;
use MailPoet\Cron\CronHelper;
use MailPoet\Models\Setting;
if(!defined('ABSPATH')) exit;
class Cron {
class Cron extends APIEndpoint {
function getStatus() {
$daemon = Setting::getValue(CronHelper::DAEMON_SETTING);
return ($daemon) ?
$daemon :
array('status' => false);
$daemon = Setting::getValue(CronHelper::DAEMON_SETTING, false);
if($daemon === false) {
return $this->errorResponse(array(
APIError::NOT_FOUND => __('Cron daemon is not running.')
));
} else {
return $this->successResponse($daemon);
}
}
}

View File

@ -6,10 +6,8 @@
<% block translations %>
<%= localize({
'daemonNotRunning': __('Daemon is not running'),
'daemonControlError': __('Cron daemon error'),
'loadingDaemonStatus': __('Loading daemon status...'),
'cronDaemonIsRunning': __('Cron daemon is running'),
'cronDaemonState': __('Cron is %$1s')
'cronDaemonIsNotRunning': __('Cron daemon is not running')
}) %>
<% endblock %>