diff --git a/CRM/TwingleCampaign/BAO/Campaign.php b/CRM/TwingleCampaign/BAO/Campaign.php index 316aa3f..6a5e9cc 100644 --- a/CRM/TwingleCampaign/BAO/Campaign.php +++ b/CRM/TwingleCampaign/BAO/Campaign.php @@ -74,7 +74,9 @@ abstract class CRM_TwingleCampaign_BAO_Campaign { ); // Set id - $values_prepared_for_import['id'] = $this->id; + if (isset($this->id)) { + $values_prepared_for_import['id'] = $this->id; + } // Set a flag to not trigger the hook if ($no_hook) { diff --git a/api/v3/TwingleCampaign/Get.php b/api/v3/TwingleCampaign/Get.php index 6897ef0..b0670e1 100644 --- a/api/v3/TwingleCampaign/Get.php +++ b/api/v3/TwingleCampaign/Get.php @@ -107,9 +107,9 @@ function civicrm_api3_twingle_campaign_Get(array $params): array { Cache::getInstance() ->getCampaignIds()['campaign_types']['twingle_campaign']['id']; - // If no id but a project_id is provided, get all TwingleCampaign children of - // this TwingleProject - if (array_key_exists('project_id', $params) && $params['project_id']) { + // If no id but a parent_id or a project_id is provided, get all + // TwingleCampaign children of this TwingleProject + if (isset($params['project_id']) && !isset($params['parent_id'])) { // Get TwingleProject $project = civicrm_api3('TwingleProject',