From df37432a2234e104e2306bb74bc3a06a28137b84 Mon Sep 17 00:00:00 2001 From: Bojan Zivanovic Date: Fri, 9 Jun 2017 12:19:39 +0200 Subject: [PATCH] Add a temporary workaround for #2884870. --- modules/tax/src/Form/TaxTypeForm.php | 1 + modules/tax/src/Plugin/Commerce/TaxType/Custom.php | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/modules/tax/src/Form/TaxTypeForm.php b/modules/tax/src/Form/TaxTypeForm.php index f35a6a389e..3bee6479f3 100644 --- a/modules/tax/src/Form/TaxTypeForm.php +++ b/modules/tax/src/Form/TaxTypeForm.php @@ -85,6 +85,7 @@ public function form(array $form, FormStateInterface $form_state) { '#default_value' => $plugin, '#required' => TRUE, '#disabled' => !$type->isNew(), + '#limit_validation_errors' => [], '#ajax' => [ 'callback' => '::ajaxRefresh', 'wrapper' => $wrapper_id, diff --git a/modules/tax/src/Plugin/Commerce/TaxType/Custom.php b/modules/tax/src/Plugin/Commerce/TaxType/Custom.php index ce778ce6c6..b8d851959a 100644 --- a/modules/tax/src/Plugin/Commerce/TaxType/Custom.php +++ b/modules/tax/src/Plugin/Commerce/TaxType/Custom.php @@ -273,6 +273,12 @@ public function removeTerritorySubmit(array $form, FormStateInterface $form_stat * {@inheritdoc} */ public function validateConfigurationForm(array &$form, FormStateInterface $form_state) { + if (!isset($form['territories'])) { + // The form was built by a different plugin, and is now in the process + // of being rebuilt. Temporary workaround for #2884870. + return; + } + $values = $form_state->getValue($form['#parents']); $values['rates'] = array_filter($values['rates'], function ($rate) { return !empty($rate) && !isset($rate['add_rate']);