diff --git a/CRM/TwingleCampaign/BAO/TwingleProject.php b/CRM/TwingleCampaign/BAO/TwingleProject.php index 46e4a53..8f509c0 100644 --- a/CRM/TwingleCampaign/BAO/TwingleProject.php +++ b/CRM/TwingleCampaign/BAO/TwingleProject.php @@ -165,6 +165,11 @@ class CRM_TwingleCampaign_BAO_TwingleProject extends Campaign { */ public function create(bool $no_hook = FALSE): bool { + # If this project is not meant to be synced, do not create a campaign + if (!$this->values['project_options']['has_civi_crm_activated']) { + return FALSE; + } + $result = parent::create($no_hook); // Check if campaign was created successfully diff --git a/api/v3/TwingleProject/Sync.php b/api/v3/TwingleProject/Sync.php index 4d578ce..26a46be 100644 --- a/api/v3/TwingleProject/Sync.php +++ b/api/v3/TwingleProject/Sync.php @@ -230,9 +230,14 @@ function civicrm_api3_twingle_project_Sync(array $params): array { $project->getResponse('Ready to create TwingleProject'); } - $project->create(TRUE); - $returnValues[$project->getId()] = - $project->getResponse('TwingleProject created'); + if ($project->create(TRUE)) { + $returnValues[$project->getId()] = + $project->getResponse('TwingleProject created'); + } + else { + $returnValues[$project->getId()] = + $project->getResponse('TwingleProject not selected for synchronization'); + } } catch (Exception $e) { $errors[$project_from_twingle['id']] = $e->getMessage(); Civi::log()->error(