fix getsingle apis

return an array that contains the values instead of an array that contains another array
This commit is contained in:
Marc Michalsky forumZFD 2021-02-09 16:30:43 +01:00
parent 6fd9521f08
commit 2533c97f4c
Signed by untrusted user who does not match committer: marc.koch
GPG key ID: 12406554CFB028B9
4 changed files with 27 additions and 16 deletions

View file

@ -113,15 +113,15 @@ function civicrm_api3_twingle_event_Sync(array $params): array {
if ($result['is_error'] == 0) {
// Get the event from Twingle
if ($result['values'][0]['event_id']) {
if ($result['values']['event_id']) {
$event_from_twingle = $twingleApi->getEvent(
$result['values'][0]['project_id'],
$result['values'][0]['event_id']
$result['values']['project_id'],
$result['values']['event_id']
);
// instantiate event from CiviCRM
try {
$event = _instantiateEvent($result['values'][0]);
$event = _instantiateEvent($result['values']);
} catch (CiviCRM_API3_Exception $e) {
Civi::log()->error(
$e->getMessage(),

View file

@ -65,5 +65,10 @@ function civicrm_api3_twingle_form_Getsingle(array $params): array {
if ($count != 1){
return civicrm_api3_create_error("Expected one TwingleForm but found $count");
}
return civicrm_api3_create_success($returnValues['values'], $params, 'TwingleForm', 'Getsingle');
return civicrm_api3_create_success(
$returnValues['values'][$returnValues['id']],
$params,
'TwingleForm',
'Getsingle'
);
}

View file

@ -113,7 +113,13 @@ function civicrm_api3_twingle_project_Getsingle(array $params): array {
$count = $returnValues['count'];
if ($count != 1) {
return civicrm_api3_create_error("Expected one TwingleProject but found $count");
return civicrm_api3_create_error(
"Expected one TwingleProject but found $count"
);
}
return civicrm_api3_create_success($returnValues['values'], $params, 'TwingleProject', 'Getsingle');
return civicrm_api3_create_success(
$returnValues['values'][$returnValues['id']],
$params, 'TwingleProject',
'Getsingle'
);
}

View file

@ -100,13 +100,13 @@ function civicrm_api3_twingle_project_Sync(array $params): array {
// If the TwingleProject campaign already has a project_id try to get the
// project from Twingle
if ($result['values'][0]['project_id']) {
$project_from_twingle = $twingleApi->getProject($result['values'][0]['project_id']);
if ($result['values']['project_id']) {
$project_from_twingle = $twingleApi->getProject($result['values']['project_id']);
// instantiate project from CiviCRM
$id = $result['values'][0]['id'];
unset($result['values'][0]['id']);
$project = new TwingleProject($result['values'][0], $id);
$id = $result['values']['id'];
unset($result['values']['id']);
$project = new TwingleProject($result['values'], $id);
// Synchronize projects
if (!empty($project_from_twingle)) {
@ -127,11 +127,11 @@ function civicrm_api3_twingle_project_Sync(array $params): array {
else {
// store campaign id in $id
$id = $result['values'][0]['id'];
unset($result['values'][0]['id']);
$id = $result['values']['id'];
unset($result['values']['id']);
// instantiate project
$project = new TwingleProject($result['values'][0], $id);
$project = new TwingleProject($result['values'], $id);
// Push project to Twingle
return _pushProjectToTwingle($project, $twingleApi, $params);
@ -252,7 +252,7 @@ function civicrm_api3_twingle_project_Sync(array $params): array {
$project->getResponse($result['error_message']);
}
else {
$result_values[$project->getId()] = $result['values'][0];
$result_values[$project->getId()] = $result['values'];
}
break;
}