api4 - Import CRM/, Civi/, templates/, ang/, css/, js/, xml/menu
[civicrm-core.git] / Civi / Api4 / Event / Subscriber / ContactPreSaveSubscriber.php
1 <?php
2
3 namespace Civi\Api4\Event\Subscriber;
4
5 use Civi\Api4\Generic\AbstractAction;
6
7 class ContactPreSaveSubscriber extends Generic\PreSaveSubscriber {
8
9 public $supportedOperation = 'create';
10
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';
15 }
16 if (empty($contact['contact_type']) && !empty($contact['household_name'])) {
17 $contact['contact_type'] = 'Household';
18 }
19 }
20
21 public function applies(AbstractAction $request) {
22 return $request->getEntityName() === 'Contact';
23 }
24
25 }