From 034476ab65ce02f97d34a88933d65f8e392f6cc8 Mon Sep 17 00:00:00 2001 From: Marc Michalsky forumZFD Date: Mon, 8 Feb 2021 14:02:04 +0100 Subject: [PATCH] code cleanup --- .../resources/twingle_api_templates.json | 7 ++++ api/v3/TwingleProject/Create.php | 10 ++--- api/v3/TwingleProject/Sync.php | 37 ++++++++++++------- 3 files changed, 34 insertions(+), 20 deletions(-) diff --git a/CRM/TwingleCampaign/resources/twingle_api_templates.json b/CRM/TwingleCampaign/resources/twingle_api_templates.json index 5b9a1f4..2781d31 100644 --- a/CRM/TwingleCampaign/resources/twingle_api_templates.json +++ b/CRM/TwingleCampaign/resources/twingle_api_templates.json @@ -11,6 +11,7 @@ "last_update" ], "project_embed_data": [ + "page", "widget", "form", "form-single", @@ -49,5 +50,11 @@ "eventall", "eventlist", "eventeditcreate" + ], + "TwingleCampaign": [ + "id", + "parent_id", + "name", + "title" ] } \ No newline at end of file diff --git a/api/v3/TwingleProject/Create.php b/api/v3/TwingleProject/Create.php index 4d58cc1..ec6f81e 100644 --- a/api/v3/TwingleProject/Create.php +++ b/api/v3/TwingleProject/Create.php @@ -88,9 +88,6 @@ function _civicrm_api3_twingle_project_Create_spec(array &$spec) { */ function civicrm_api3_twingle_project_Create($params): array { - // For logging purpose - $extensionName = E::LONG_NAME; - // instantiate project $project = new TwingleProject($params, 'TWINGLE'); @@ -104,13 +101,14 @@ function civicrm_api3_twingle_project_Create($params): array { 'Create' ); } catch(Exception $e){ - $errorMessage = $e->getMessage(); Civi::log()->error( - "$extensionName could not create TwingleProject: $errorMessage", + E::LONG_NAME . + ' could not create TwingleProject: ' . + $e->getMessage(), $project->getResponse() ); return civicrm_api3_create_error( - "Could not create TwingleProject: $errorMessage", + 'Could not create TwingleProject: ' . $e->getMessage(), $project->getResponse() ); } diff --git a/api/v3/TwingleProject/Sync.php b/api/v3/TwingleProject/Sync.php index 60f52e8..1e5cddb 100644 --- a/api/v3/TwingleProject/Sync.php +++ b/api/v3/TwingleProject/Sync.php @@ -48,20 +48,22 @@ function _civicrm_api3_twingle_project_Sync_spec(array &$spec) { /** * # TwingleProject.Sync API * - * Synchronize one ore more campaigns of the type TwingleProject between CiviCRM + * Synchronize one ore more campaigns of the type TwingleProject between + * CiviCRM * and Twingle. * - * * If you provide an **id** or **project_id** parameter, *only one project* will - * be synchronized. + * * If you provide an **id** or **project_id** parameter, *only one project* + * will be synchronized. * - * * If you provide no **id** or **project_id** parameter, *all projects* will be - * synchronized. + * * If you provide no **id** or **project_id** parameter, *all projects* will + * be synchronized. * * @param array $params * * @return array * API result descriptor * @throws \CiviCRM_API3_Exception + * @throws \Exception * @see civicrm_api3_create_success */ function civicrm_api3_twingle_project_Sync(array $params): array { @@ -195,13 +197,18 @@ function civicrm_api3_twingle_project_Sync(array $params): array { array_column($projects_from_civicrm['values'], 'project_id'))) { $project = new TwingleProject($project_from_twingle); - // If this is a test, do not make db changes - if ($params['is_test']) { - $result_values[$project->getId()] = - $project->getResponse('Ready to create TwingleProject'); - } - try { + // Get embed data + $project->setEmbedData( + $twingleApi->getProjectEmbedData($project->getProjectId()) + ); + + // If this is a test, do not make db changes + if ($params['is_test']) { + $result_values[$project->getId()] = + $project->getResponse('Ready to create TwingleProject'); + } + $project->create(TRUE); $result_values[$project->getId()] = $project->getResponse('TwingleProject created'); @@ -247,7 +254,7 @@ function civicrm_api3_twingle_project_Sync(array $params): array { } } - // Give back results + // Return results if ($errors_occurred > 0) { $errorMessage = ($errors_occurred > 1) ? "$errors_occurred synchronisation processes resulted with an error" @@ -300,8 +307,9 @@ function _updateProjectLocally(array $project_from_twingle, } // ... else, update local TwingleProject campaign $project->create(TRUE); + $response[] = $project->getResponse('TwingleProject updated successfully'); return civicrm_api3_create_success( - $project->getResponse('TwingleProject updated successfully'), + $response, $params, 'TwingleProject', 'Sync' @@ -371,8 +379,9 @@ function _pushProjectToTwingle(TwingleProject $project, ); // Create updated campaign $project->create(TRUE); + $response[] = $project->getResponse('TwingleProject pushed to Twingle'); return civicrm_api3_create_success( - $project->getResponse('TwingleProject pushed to Twingle'), + $response, $params, 'TwingleProject', 'Sync'