update status message when project was pushed and locally updated

This commit is contained in:
Marc Michalsky forumZFD 2020-12-15 16:11:04 +01:00
parent 96ce4f4b38
commit 2317c7e8e1
Signed by untrusted user who does not match committer: marc.koch
GPG key ID: 12406554CFB028B9

View file

@ -52,6 +52,7 @@ function _civicrm_api3_twingle_sync_Sync_spec(array &$spec) {
* API result descriptor * API result descriptor
* *
* @throws API_Exception|\CiviCRM_API3_Exception * @throws API_Exception|\CiviCRM_API3_Exception
* @throws \Exception
* @see civicrm_api3_create_success * @see civicrm_api3_create_success
* *
*/ */
@ -94,14 +95,23 @@ function civicrm_api3_twingle_sync_Sync($params) {
foreach ($projects_from_civicrm['values'] as $project_from_civicrm) { foreach ($projects_from_civicrm['values'] as $project_from_civicrm) {
if (!in_array($project_from_civicrm['project_id'], if (!in_array($project_from_civicrm['project_id'],
array_column($projects_from_twingle, 'id'))) { array_column($projects_from_twingle, 'id'))) {
// store campaign id in $id
$id = $project_from_civicrm['id']; $id = $project_from_civicrm['id'];
unset($project_from_civicrm['id']); unset($project_from_civicrm['id']);
// change 'title' to 'name' to match Twingle format
$project_from_civicrm['name'] = $project_from_civicrm['title']; $project_from_civicrm['name'] = $project_from_civicrm['title'];
// instantiate project with values from TwingleProject.Get
$project = new TwingleProject($project_from_civicrm, $id); $project = new TwingleProject($project_from_civicrm, $id);
$values = $twingleApi->pushProject($project); // push project to Twingle
$project->update($values); $result = $twingleApi->pushProject($project);
$result_values['sync']['projects'][$i++] = $project->create(); // update local campaign with data coming back from Twingle
$project->update($result);
$project_create = $project->create();
// set status
$result_values['sync']['projects'][$i++] =
$project_create['status'] == 'TwingleProject created'
? 'TwingleProject pushed to Twingle'
: 'TwingleProject got likely pushed to Twingle but local update failed';
} }
} }