public function VariationSKU::submitConfigurationForm in Commerce Bulk 8
Form submission handler.
Parameters
array $form: An associative array containing the structure of the plugin form as built by static::buildConfigurationForm().
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form. Calling code should pass on a subform state created through \Drupal\Core\Form\SubformState::createForSubform().
Overrides PluginFormInterface::submitConfigurationForm
File
- src/
Plugin/ Action/ VariationSKU.php, line 68
Class
- VariationSKU
- Duplicate variation.
Namespace
Drupal\commerce_bulk\Plugin\ActionCode
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
if ($form_state
->getTriggeringElement()['#id'] != 'edit-cancel') {
$storage = \Drupal::service('entity_type.manager')
->getStorage('commerce_product_variation');
$skus = explode(PHP_EOL, trim($form_state
->getValue('skus')));
$list = '';
foreach ($form_state
->get('variations') as $index => $variation) {
$sku = isset($skus[$index]) ? trim($skus[$index]) : FALSE;
if ($sku && strlen($sku) < 61 && !$storage
->loadBySku($sku)) {
$variation
->setSku($sku)
->save();
}
else {
$list .= "<li>{$sku}</li>";
}
}
if ($list) {
\Drupal::messenger()
->addWarning(new TranslatableMarkup("<h3>The following SKUs were rejected as they already exist or more than 60 characters:</h3><ul>{$list}</ul>"));
}
}
}