3 namespace Civi\Api4\Event\Subscriber
;
5 use Civi\Api4\Generic\AbstractAction
;
7 class ContactPreSaveSubscriber
extends Generic\PreSaveSubscriber
{
9 public $supportedOperation = 'create';
11 public function modify(&$contact, AbstractAction
$request) {
12 // Guess which type of contact is being created
13 if (empty($contact['contact_type']) && !empty($contact['organization_name'])) {
14 $contact['contact_type'] = 'Organization';
16 if (empty($contact['contact_type']) && !empty($contact['household_name'])) {
17 $contact['contact_type'] = 'Household';
21 public function applies(AbstractAction
$request) {
22 return $request->getEntityName() === 'Contact';