From d88add450f6f7e2bad9f795e99e276d53dd33971 Mon Sep 17 00:00:00 2001 From: Vladimir Krupin <5554-blcrb@users.noreply.drupalcode.org> Date: Thu, 10 Nov 2022 13:27:08 -0500 Subject: [PATCH] Issue #3311403 by vladimir.krupin: Cannot delete MappedObject entity related to paragraph --- .../src/Form/MappedObjectDeleteForm.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php b/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php index 73df4480..535ebb12 100644 --- a/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php +++ b/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php @@ -3,7 +3,9 @@ namespace Drupal\salesforce_mapping_ui\Form; use Drupal\Core\Entity\ContentEntityConfirmFormBase; +use Drupal\Core\Entity\Exception\UndefinedLinkTemplateException; use Drupal\Core\Form\FormStateInterface; +use Drupal\Core\Url; use Drupal\salesforce\Event\SalesforceNoticeEvent; use Drupal\salesforce\Event\SalesforceEvents; @@ -44,8 +46,17 @@ class MappedObjectDeleteForm extends ContentEntityConfirmFormBase { * Salesforce notvie level event which logs notice. */ public function submitForm(array &$form, FormStateInterface $form_state) { + $form_state->setRedirectUrl(Url::fromRoute('entity.salesforce_mapped_object.list')); + $mapped_object = $this->getEntity(); - $form_state->setRedirectUrl($mapped_object->getMappedEntity()->toUrl()); + try { + $mapped_entity = $mapped_object->getMappedEntity(); + if ($mapped_entity) { + $form_state->setRedirectUrl($mapped_entity->toUrl()); + } + } + catch (UndefinedLinkTemplateException $e) {} + $message = 'MappedObject @sfid deleted.'; $args = ['@sfid' => $mapped_object->salesforce_id->value]; \Drupal::service('event_dispatcher')->dispatch(new SalesforceNoticeEvent(NULL, $message, $args), SalesforceEvents::NOTICE); -- GitLab