From 8c3a8c326809980038c2eb34506cf3dc01d9984b Mon Sep 17 00:00:00 2001 From: Bartek Wajda Date: Fri, 15 Mar 2024 15:09:39 +0100 Subject: [PATCH 1/2] IBX-7957: Suppressed validation on `Save and Close` --- .../Form/EventSubscriber/SuppressValidationSubscriber.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/Form/EventSubscriber/SuppressValidationSubscriber.php b/src/lib/Form/EventSubscriber/SuppressValidationSubscriber.php index 4d4d0ba5..4f68c705 100644 --- a/src/lib/Form/EventSubscriber/SuppressValidationSubscriber.php +++ b/src/lib/Form/EventSubscriber/SuppressValidationSubscriber.php @@ -47,6 +47,12 @@ public function suppressValidationOnSaveDraft(PostSubmitEvent $event) $event->stopPropagation(); } } + + if ($form->has('saveDraftAndClose')) { + if ($form->get('saveDraftAndClose')->isClicked()) { + $event->stopPropagation(); + } + } } public function suppressValidationOnAutosaveDraft(PostSubmitEvent $event) From 42f6e42877598c2fc649e4fd685b72fb33913dd1 Mon Sep 17 00:00:00 2001 From: Bartek Wajda Date: Fri, 15 Mar 2024 15:23:25 +0100 Subject: [PATCH 2/2] IBX-7957: Refactored code --- .../SuppressValidationSubscriber.php | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/lib/Form/EventSubscriber/SuppressValidationSubscriber.php b/src/lib/Form/EventSubscriber/SuppressValidationSubscriber.php index 4f68c705..978dbf41 100644 --- a/src/lib/Form/EventSubscriber/SuppressValidationSubscriber.php +++ b/src/lib/Form/EventSubscriber/SuppressValidationSubscriber.php @@ -42,16 +42,11 @@ public function suppressValidationOnSaveDraft(PostSubmitEvent $event) { $form = $event->getForm(); - if ($form->has('saveDraft')) { - if ($form->get('saveDraft')->isClicked()) { - $event->stopPropagation(); - } - } - - if ($form->has('saveDraftAndClose')) { - if ($form->get('saveDraftAndClose')->isClicked()) { - $event->stopPropagation(); - } + if ( + ($form->has('saveDraft') && $form->get('saveDraft')->isClicked()) + || ($form->has('saveDraftAndClose') && $form->get('saveDraftAndClose')->isClicked()) + ) { + $event->stopPropagation(); } }