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,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;
}