Skip to content
Snippets Groups Projects
Verified Commit 89a4803b authored by Damien's avatar Damien
Browse files

FEAT #9493 Clore resource v2

parent e29a1f8c
No related branches found
No related tags found
No related merge requests found
...@@ -76,25 +76,53 @@ ...@@ -76,25 +76,53 @@
<enabled>false</enabled> <enabled>false</enabled>
<url></url> <url></url>
<method>POST</method> <method>POST</method>
<file> <file>filename</file>
<key>encodedFile</key> <sendInObject>
</file> <objectName>requete</objectName>
<rawData> <rawData>
<key>parentId</key> <key>parentQueryId</key>
<value>res_id_master</value> <value>external_id</value>
</rawData> </rawData>
<rawData> <rawData>
<key>status</key> <key>externalId</key>
<value>status</value> <value>res_id</value>
</rawData> </rawData>
<data> <rawData>
<key>column</key> <key>subject</key>
<value>aString</value> <value>title</value>
</data> </rawData>
<data> <data>
<key>column2</key> <key>cityId</key>
<value>aString2</value> <value>73</value>
</data> </data>
<data>
<key>servId</key>
<value>4129</value>
</data>
<data>
<key>sqrtId</key>
<value>12178</value>
</data>
<data>
<key>qrtId</key>
<value>125</value>
</data>
<data>
<key>geo</key>
<value>false</value>
</data>
</sendInObject>
<sendInObject>
<objectName>citoyen</objectName>
<rawData>
<key>id</key>
<value>external_id</value>
</rawData>
<rawData>
<key>externalId</key>
<value>address_id</value>
</rawData>
</sendInObject>
</call> </call>
<call> <call>
<id>sendContactToExternalApplication</id> <id>sendContactToExternalApplication</id>
......
...@@ -103,33 +103,34 @@ class ActionMethodController ...@@ -103,33 +103,34 @@ class ActionMethodController
if (CurlModel::isEnabled(['curlCallId' => 'closeResource'])) { if (CurlModel::isEnabled(['curlCallId' => 'closeResource'])) {
$bodyData = []; $bodyData = [];
$config = CurlModel::getConfigByCallId(['curlCallId' => 'closeResource']); $config = CurlModel::getConfigByCallId(['curlCallId' => 'closeResource']);
$configResource = CurlModel::getConfigByCallId(['curlCallId' => 'sendResourceToExternalApplication']);
$resource = ResModel::getOnView(['select' => ['doc_' . $configResource['return']['value']], 'where' => ['res_id = ?'], 'data' => [$aArgs['resId']]]); $resource = ResModel::getById(['select' => ['external_id'], 'resId' => $aArgs['resId']]);
$externalId = json_decode($resource['external_id'], true);
if (!empty($resource[0]['doc_' . $configResource['return']['value']])) { if (!empty($externalId['localeoId'])) {
if (!empty($config['inObject'])) { if (!empty($config['inObject'])) {
foreach ($config['objects'] as $object) { foreach ($config['objects'] as $object) {
$select = []; $select = [];
$tmpBodyData = []; $tmpBodyData = [];
foreach ($object['rawData'] as $value) { foreach ($object['rawData'] as $value) {
if ($value == $configResource['return']['value']) { if ($value != 'note' && $value != 'localeoId') {
$select[] = 'doc_' . $configResource['return']['value'];
} elseif ($value != 'note') {
$select[] = $value; $select[] = $value;
} }
} }
$document = ResModel::getOnView(['select' => $select, 'where' => ['res_id = ?'], 'data' => [$aArgs['resId']]]); if (!empty($select)) {
if (!empty($document[0])) { $document = ResModel::getOnView(['select' => $select, 'where' => ['res_id = ?'], 'data' => [$aArgs['resId']]]);
foreach ($object['rawData'] as $key => $value) { }
if ($value == 'note') { foreach ($object['rawData'] as $key => $value) {
$tmpBodyData[$key] = empty($aArgs['note']) ? '' : $aArgs['note']; if ($value == 'note') {
} elseif ($value == $configResource['return']['value']) { $tmpBodyData[$key] = empty($aArgs['note']) ? '' : $aArgs['note'];
$tmpBodyData[$key] = $document[0]['doc_' . $value]; } elseif ($value == 'localeoId') {
} else { $tmpBodyData[$key] = $externalId['localeoId'];
$tmpBodyData[$key] = $document[0][$value]; } elseif (!empty($document[0][$value])) {
} $tmpBodyData[$key] = $document[0][$value];
} else {
$tmpBodyData[$key] = '';
} }
} }
...@@ -137,11 +138,16 @@ class ActionMethodController ...@@ -137,11 +138,16 @@ class ActionMethodController
$tmpBodyData = array_merge($tmpBodyData, $object['data']); $tmpBodyData = array_merge($tmpBodyData, $object['data']);
} }
$bodyData[$object['name']] = $tmpBodyData; $bodyData[$object['name']] = json_encode($tmpBodyData);
} }
} }
CurlModel::exec(['curlCallId' => 'closeResource', 'bodyData' => $bodyData, 'multipleObject' => true, 'noAuth' => true]); CurlModel::execSimple([
'url' => $config['url'],
'headers' => $config['header'],
'method' => $config['method'],
'body' => $bodyData,
]);
} }
} }
......
...@@ -658,7 +658,7 @@ class ResourceListController ...@@ -658,7 +658,7 @@ class ResourceListController
$methodResponses = []; $methodResponses = [];
foreach ($resourcesForAction as $resId) { foreach ($resourcesForAction as $resId) {
if (!empty($method)) { if (!empty($method)) {
$methodResponse = ActionMethodController::$method(['resId' => $resId, 'data' => $body['data']]); $methodResponse = ActionMethodController::$method(['resId' => $resId, 'data' => $body['data'], 'note' => $body['note']]);
if (!empty($methodResponse['errors'])) { if (!empty($methodResponse['errors'])) {
if (empty($methodResponses['errors'])) { if (empty($methodResponses['errors'])) {
...@@ -674,7 +674,8 @@ class ResourceListController ...@@ -674,7 +674,8 @@ class ResourceListController
} }
} }
} }
ActionMethodController::terminateAction(['id' => $aArgs['actionId'], 'resources' => $resourcesForAction, 'basketName' => $basket['basket_name'], 'note' => $body['note'], 'history' => $methodResponse['history']]); $historic = empty($methodResponse['history']) ? '' : $methodResponse['history'];
ActionMethodController::terminateAction(['id' => $aArgs['actionId'], 'resources' => $resourcesForAction, 'basketName' => $basket['basket_name'], 'note' => $body['note'], 'history' => $historic]);
if (!empty($methodResponses)) { if (!empty($methodResponses)) {
return $response->withJson($methodResponses); return $response->withJson($methodResponses);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment