From e46cfdec3c9662df7d831592dad2defb137718e6 Mon Sep 17 00:00:00 2001 From: Aaron Bauman <aaron@messageagency.com> Date: Tue, 18 Mar 2025 14:13:02 -0400 Subject: [PATCH] Issue #3269666 by altcom_neil, gcb: Salesforce Mapped Objects local task not appearing on Webform Submission pages --- .../src/Controller/MappedObjectController.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/salesforce_mapping_ui/src/Controller/MappedObjectController.php b/modules/salesforce_mapping_ui/src/Controller/MappedObjectController.php index f3a7ddc4..687e452b 100644 --- a/modules/salesforce_mapping_ui/src/Controller/MappedObjectController.php +++ b/modules/salesforce_mapping_ui/src/Controller/MappedObjectController.php @@ -44,8 +44,14 @@ class MappedObjectController extends ControllerBase { return AccessResult::forbidden(); } - // There must be a better way to get the entity from a route match. - $param = current($this->route->getParameters()->all()); + $param = null; + $parameter_info = $this->route->getRouteObject()->getOption('parameters'); + foreach ($parameter_info as $name => $options) { + if (isset($options['type']) && str_starts_with($options['type'], 'entity:')) { + $param = $this->route->getParameter($name); + continue 1; + } + } if (!is_object($param)) { return AccessResult::forbidden(); } -- GitLab