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);
|
$request = new \OAuth2\Request(array(), $request, array(), array(), array(), $server, null, $headers);
|
||||||
$oauthServer = new \ProcessMaker\Services\OAuth2\Server();
|
$oauthServer = new \ProcessMaker\Services\OAuth2\Server();
|
||||||
$response = $oauthServer->getServer()->handleTokenRequest($request);
|
$response = $oauthServer->postToken($request, true);
|
||||||
$clientToken = $response->getParameters();
|
$clientToken = $response->getParameters();
|
||||||
$clientToken["client_id"] = $client['CLIENT_ID'];
|
$clientToken["client_id"] = $client['CLIENT_ID'];
|
||||||
$clientToken["client_secret"] = $client['CLIENT_SECRET'];
|
$clientToken["client_secret"] = $client['CLIENT_SECRET'];
|
||||||
|
|||||||
@@ -120,6 +120,13 @@ class Activity extends Api
|
|||||||
$task->setArrayParamException(array("taskUid" => "act_uid", "stepUid" => "step_uid"));
|
$task->setArrayParamException(array("taskUid" => "act_uid", "stepUid" => "step_uid"));
|
||||||
|
|
||||||
$response = $task->getSteps($act_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;
|
return $response;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
|||||||
@@ -222,23 +222,26 @@ class Server implements iAuthenticate
|
|||||||
*
|
*
|
||||||
* @format JsonFormat,UploadFormat
|
* @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
|
// Handle a request for an OAuth2.0 Access Token and send the response to the client
|
||||||
$request = \OAuth2\Request::createFromGlobals();
|
if ($request == null) {
|
||||||
|
$request = \OAuth2\Request::createFromGlobals();
|
||||||
|
}
|
||||||
$response = $this->server->handleTokenRequest($request);
|
$response = $this->server->handleTokenRequest($request);
|
||||||
|
|
||||||
|
|
||||||
$token = $response->getParameters();
|
$token = $response->getParameters();
|
||||||
if (array_key_exists('access_token', $token)
|
if (array_key_exists('access_token', $token)
|
||||||
&& array_key_exists('refresh_token', $token)
|
&& array_key_exists('refresh_token', $token)
|
||||||
) {
|
) {
|
||||||
session_start();
|
if ($request == null) {
|
||||||
|
session_start();
|
||||||
|
}
|
||||||
$data = $this->storage->getAccessToken($token['access_token']);
|
$data = $this->storage->getAccessToken($token['access_token']);
|
||||||
|
|
||||||
// verify if the client is our local PM Designer client
|
// verify if the client is our local PM Designer client
|
||||||
if ($data['client_id'] == self::getPmClientId()) {
|
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";
|
//require_once "classes/model/PmoauthUserAccessTokens.php";
|
||||||
|
|
||||||
$userToken = new \PmoauthUserAccessTokens();
|
$userToken = new \PmoauthUserAccessTokens();
|
||||||
@@ -252,7 +255,11 @@ class Server implements iAuthenticate
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$response->send();
|
if ($returnResponse) {
|
||||||
|
return $response;
|
||||||
|
} else {
|
||||||
|
$response->send();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -276,10 +283,9 @@ class Server implements iAuthenticate
|
|||||||
$pmAccessToken = new \PmoauthUserAccessTokens();
|
$pmAccessToken = new \PmoauthUserAccessTokens();
|
||||||
$session = $pmAccessToken->getSessionData($token['ACCESS_TOKEN']);
|
$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
|
// increase the timeout for local php session cookie
|
||||||
$config = \Bootstrap::getSystemConfiguration();
|
$config = \Bootstrap::getSystemConfiguration();
|
||||||
|
|
||||||
if (isset($config['session.gc_maxlifetime'])) {
|
if (isset($config['session.gc_maxlifetime'])) {
|
||||||
$lifetime = $config['session.gc_maxlifetime'];
|
$lifetime = $config['session.gc_maxlifetime'];
|
||||||
} else {
|
} else {
|
||||||
@@ -289,7 +295,7 @@ class Server implements iAuthenticate
|
|||||||
$lifetime = 1440;
|
$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