From 06c6ff1fe50f6b6a4267500224f4eaccd56275e3 Mon Sep 17 00:00:00 2001 From: Aidan Saunders Date: Fri, 19 May 2023 22:00:53 +0100 Subject: [PATCH] Set 'is_primary' to not be required on Address, Email, IM & Phone creation --- .../Provider/AddressCreationSpecProvider.php | 1 + .../Provider/EmailCreationSpecProvider.php | 1 + .../Spec/Provider/IMCreationSpecProvider.php | 37 +++++++++++++++++++ .../Provider/PhoneCreationSpecProvider.php | 1 + 4 files changed, 40 insertions(+) create mode 100644 Civi/Api4/Service/Spec/Provider/IMCreationSpecProvider.php diff --git a/Civi/Api4/Service/Spec/Provider/AddressCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/AddressCreationSpecProvider.php index 7cba691066..d441ed2422 100644 --- a/Civi/Api4/Service/Spec/Provider/AddressCreationSpecProvider.php +++ b/Civi/Api4/Service/Spec/Provider/AddressCreationSpecProvider.php @@ -25,6 +25,7 @@ class AddressCreationSpecProvider extends \Civi\Core\Service\AutoService impleme */ public function modifySpec(RequestSpec $spec) { $spec->getFieldByName('location_type_id')->setRequired(TRUE); + $spec->getFieldByName('is_primary')->setRequired(FALSE); } /** diff --git a/Civi/Api4/Service/Spec/Provider/EmailCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/EmailCreationSpecProvider.php index e4f760c475..761df4da39 100644 --- a/Civi/Api4/Service/Spec/Provider/EmailCreationSpecProvider.php +++ b/Civi/Api4/Service/Spec/Provider/EmailCreationSpecProvider.php @@ -27,6 +27,7 @@ class EmailCreationSpecProvider extends \Civi\Core\Service\AutoService implement $spec->getFieldByName('email')->setRequired(TRUE); $spec->getFieldByName('on_hold')->setRequired(FALSE); $spec->getFieldByName('is_bulkmail')->setRequired(FALSE); + $spec->getFieldByName('is_primary')->setRequired(FALSE); $defaultLocationType = \CRM_Core_BAO_LocationType::getDefault()->id ?? NULL; $spec->getFieldByName('location_type_id')->setDefaultValue($defaultLocationType); diff --git a/Civi/Api4/Service/Spec/Provider/IMCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/IMCreationSpecProvider.php new file mode 100644 index 0000000000..f6e87ed915 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/IMCreationSpecProvider.php @@ -0,0 +1,37 @@ +getFieldByName('is_primary')->setRequired(FALSE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'IM' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/PhoneCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/PhoneCreationSpecProvider.php index 60d04c7907..9b93f65d10 100644 --- a/Civi/Api4/Service/Spec/Provider/PhoneCreationSpecProvider.php +++ b/Civi/Api4/Service/Spec/Provider/PhoneCreationSpecProvider.php @@ -25,6 +25,7 @@ class PhoneCreationSpecProvider extends \Civi\Core\Service\AutoService implement */ public function modifySpec(RequestSpec $spec) { $spec->getFieldByName('phone')->setRequired(TRUE); + $spec->getFieldByName('is_primary')->setRequired(FALSE); } /** -- 2.25.1