This commit is contained in:
Roly Rudy Gutierrez Pinto
2017-05-08 15:22:46 -04:00
parent feed5454f1
commit 7a60e17367
2 changed files with 26 additions and 14 deletions

View File

@@ -23,20 +23,7 @@ class ControlUnderUpdating implements iAuthenticate
public function __isAllowed()
{
$response = true;
$underUpdating = \Bootstrap::isPMUnderUpdating();
if ($underUpdating['action']) {
$sysTemp = true;
if (defined('SYS_TEMP')) {
$sysTemp = $underUpdating['workspace'] == SYS_TEMP;
}
if ($underUpdating['workspace'] == 'true' || $sysTemp) {
$message = 'The server is currently unable to handle the request '
. 'due to temporary overloading or server maintenance ('
. 'an application update has probably been performed on '
. 'the server)';
throw new RestException(503, $message);
}
}
self::verifyUnderUpgrading();
return $response;
}
@@ -53,4 +40,27 @@ class ControlUnderUpdating implements iAuthenticate
return '';
}
/**
* Verify under upgrading, if the state is under update an exception is
* thrown of type RestException.
* @throws RestException
*/
public static function verifyUnderUpgrading()
{
$underUpdating = \Bootstrap::isPMUnderUpdating();
if ($underUpdating['action']) {
$sysTemp = true;
if (defined('SYS_TEMP')) {
$sysTemp = $underUpdating['workspace'] == SYS_TEMP;
}
if ($underUpdating['workspace'] == 'true' || $sysTemp) {
$message = 'The server is currently unable to handle the request '
. 'due to temporary overloading or server maintenance ('
. 'an application update has probably been performed on '
. 'the server)';
throw new RestException(503, $message);
}
}
}
}

View File

@@ -284,6 +284,8 @@ class Server implements iAuthenticate
*/
public function postToken($request = null, $returnResponse = false)
{
\ProcessMaker\Policies\ControlUnderUpdating::verifyUnderUpgrading();
// Handle a request for an OAuth2.0 Access Token and send the response to the client
if ($request == null) {
$request = \OAuth2\Request::createFromGlobals();