diff --git a/modules/salesforce_pull/src/Plugin/QueueWorker/PullBase.php b/modules/salesforce_pull/src/Plugin/QueueWorker/PullBase.php index 0595711995f0e15667166e8c5b76e39ee2cd5bfd..cb798435f6bada9eff91349c42e8fd55fb30da84 100644 --- a/modules/salesforce_pull/src/Plugin/QueueWorker/PullBase.php +++ b/modules/salesforce_pull/src/Plugin/QueueWorker/PullBase.php @@ -164,10 +164,18 @@ abstract class PullBase extends QueueWorkerBase implements ContainerFactoryPlugi ]) && $sf_object->field($mapping->getKeyField()) === NULL ) { + $params = new PushParams($mapping, $entity); + $this->eventDispatcher->dispatch( + SalesforceEvents::PUSH_PARAMS, + new SalesforcePushParamsEvent($mapped_object, $params) + ); + // Get just the key param and send that. + $key_field = $mapping->getKeyField(); + $key_param = [$key_field => $params->getParam($key_field)]; $sent_id = $this->sendEntityId( $mapping->getSalesforceObjectType(), $mapped_object->sfid(), - new PushParams($mapping, $entity) + $key_param ); if (!$sent_id) { throw new PullException();