Merged in darojas/processmaker (pull request #793)
BUG 15705 'logged out while editing a process under the DESIGNER menu'. Add list of triggers of an activity in the endpoint get activities
This commit is contained in:
@@ -49,7 +49,7 @@ class Designer extends Controller
|
||||
|
||||
$request = new \OAuth2\Request(array(), $request, array(), array(), array(), $server, null, $headers);
|
||||
$oauthServer = new \ProcessMaker\Services\OAuth2\Server();
|
||||
$response = $oauthServer->getServer()->handleTokenRequest($request);
|
||||
$response = $oauthServer->postToken($request, true);
|
||||
$clientToken = $response->getParameters();
|
||||
$clientToken["client_id"] = $client['CLIENT_ID'];
|
||||
$clientToken["client_secret"] = $client['CLIENT_SECRET'];
|
||||
|
||||
@@ -120,6 +120,13 @@ class Activity extends Api
|
||||
$task->setArrayParamException(array("taskUid" => "act_uid", "stepUid" => "step_uid"));
|
||||
|
||||
$response = $task->getSteps($act_uid);
|
||||
|
||||
$step = new \ProcessMaker\Services\Api\Project\Activity\Step();
|
||||
|
||||
for ($i = 0; $i < count($response); $i++) {
|
||||
$response[$i]["triggers"] = $step->doGetActivityStepTriggers($response[$i]["step_uid"], $act_uid, $prj_uid);
|
||||
}
|
||||
|
||||
return $response;
|
||||
} catch (\Exception $e) {
|
||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||
|
||||
@@ -222,23 +222,26 @@ class Server implements iAuthenticate
|
||||
*
|
||||
* @format JsonFormat,UploadFormat
|
||||
*/
|
||||
public function postToken()
|
||||
public function postToken($request = null, $returnResponse = false)
|
||||
{
|
||||
// Handle a request for an OAuth2.0 Access Token and send the response to the client
|
||||
if ($request == null) {
|
||||
$request = \OAuth2\Request::createFromGlobals();
|
||||
}
|
||||
$response = $this->server->handleTokenRequest($request);
|
||||
|
||||
|
||||
$token = $response->getParameters();
|
||||
if (array_key_exists('access_token', $token)
|
||||
&& array_key_exists('refresh_token', $token)
|
||||
) {
|
||||
if ($request == null) {
|
||||
session_start();
|
||||
}
|
||||
$data = $this->storage->getAccessToken($token['access_token']);
|
||||
|
||||
// verify if the client is our local PM Designer client
|
||||
if ($data['client_id'] == self::getPmClientId()) {
|
||||
error_log('do stuff - is a request from local pm client');
|
||||
//error_log('do stuff - is a request from local pm client');
|
||||
//require_once "classes/model/PmoauthUserAccessTokens.php";
|
||||
|
||||
$userToken = new \PmoauthUserAccessTokens();
|
||||
@@ -252,8 +255,12 @@ class Server implements iAuthenticate
|
||||
}
|
||||
}
|
||||
|
||||
if ($returnResponse) {
|
||||
return $response;
|
||||
} else {
|
||||
$response->send();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Access verification method.
|
||||
@@ -276,10 +283,9 @@ class Server implements iAuthenticate
|
||||
$pmAccessToken = new \PmoauthUserAccessTokens();
|
||||
$session = $pmAccessToken->getSessionData($token['ACCESS_TOKEN']);
|
||||
|
||||
if ($session !== false && array_key_exists($session->getSessionId(), $_COOKIE)) {
|
||||
if ($session !== false && array_key_exists($session->getSessionName(), $_COOKIE)) {
|
||||
// increase the timeout for local php session cookie
|
||||
$config = \Bootstrap::getSystemConfiguration();
|
||||
|
||||
if (isset($config['session.gc_maxlifetime'])) {
|
||||
$lifetime = $config['session.gc_maxlifetime'];
|
||||
} else {
|
||||
@@ -289,7 +295,7 @@ class Server implements iAuthenticate
|
||||
$lifetime = 1440;
|
||||
}
|
||||
|
||||
setcookie($session->getSessionName(), $_COOKIE[$session->getSessionId()], time() + $lifetime, "/");
|
||||
setcookie($session->getSessionName(), $_COOKIE[$session->getSessionName()], time() + $lifetime, "/");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user