APIv4, Case API, configure options and suffixes for medium_id field
authorBradley Taylor <hello@brad-taylor.co.uk>
Tue, 27 Dec 2022 11:37:32 +0000 (11:37 +0000)
committerBradley Taylor <hello@brad-taylor.co.uk>
Fri, 30 Jun 2023 20:33:10 +0000 (21:33 +0100)
ext/civi_case/Civi/Api4/Service/Spec/Provider/CaseCreationSpecProvider.php

index 08445cd24ba4a0db055d75a6c6716abef0272381..32c6c95f9b11e599cc34fdc92a59eb3b85ea8639 100644 (file)
@@ -14,6 +14,7 @@ namespace Civi\Api4\Service\Spec\Provider;
 
 use Civi\Api4\Service\Spec\FieldSpec;
 use Civi\Api4\Service\Spec\RequestSpec;
+use Civi\Api4\Utils\CoreUtil;
 
 /**
  * @service
@@ -51,6 +52,9 @@ class CaseCreationSpecProvider extends \Civi\Core\Service\AutoService implements
     $medium_id = new FieldSpec('medium_id', $spec->getEntity(), 'Integer');
     $medium_id->setTitle(ts('Activity Medium'));
     $medium_id->setDescription('Open Case activity medium.');
+    $medium_id->setOptionsCallback(['Civi\Api4\Service\Spec\SpecFormatter', 'getOptions']);
+    $suffixes = CoreUtil::getOptionValueFields('encounter_medium', 'name');
+    $medium_id->setSuffixes($suffixes);
     $spec->addFieldSpec($medium_id);
 
     $duration = new FieldSpec('duration', $spec->getEntity(), 'Integer');