protected function CommerceBundleEntityFormBase::submitTraitForm in Commerce Core 8.2
Submits the trait form.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
5 calls to CommerceBundleEntityFormBase::submitTraitForm()
- OrderItemTypeForm::save in modules/
order/ src/ Form/ OrderItemTypeForm.php - Form submission handler for the 'save' action.
- OrderTypeForm::save in modules/
order/ src/ Form/ OrderTypeForm.php - Form submission handler for the 'save' action.
- ProductTypeForm::save in modules/
product/ src/ Form/ ProductTypeForm.php - Form submission handler for the 'save' action.
- ProductVariationTypeForm::save in modules/
product/ src/ Form/ ProductVariationTypeForm.php - Form submission handler for the 'save' action.
- StoreTypeForm::save in modules/
store/ src/ Form/ StoreTypeForm.php - Form submission handler for the 'save' action.
File
- src/
Form/ CommerceBundleEntityFormBase.php, line 152
Class
Namespace
Drupal\commerce\FormCode
protected function submitTraitForm(array $form, FormStateInterface $form_state) {
$target_entity_type_id = $this->entity
->getEntityType()
->getBundleOf();
/** @var \Drupal\commerce\Entity\CommerceBundleEntityInterface $entity */
$entity = $this->entity;
$traits = $entity
->getTraits();
$original_traits = $form_state
->getValue('original_traits');
$selected_traits = array_diff($traits, $original_traits);
$unselected_traits = array_diff($original_traits, $traits);
foreach ($selected_traits as $trait_id) {
$trait = $this->traitManager
->createInstance($trait_id);
$this->traitManager
->installTrait($trait, $target_entity_type_id, $this->entity
->id());
}
foreach ($unselected_traits as $trait_id) {
$trait = $this->traitManager
->createInstance($trait_id);
$this->traitManager
->uninstallTrait($trait, $target_entity_type_id, $this->entity
->id());
}
}