/** * Form builder callback. * * @todo I don't know why this needs to be separate from the form() method. * It was in the form_alter version but we should see if we can just fold * it into the method above. * * @param $entity_type * @param \Drupal\Core\Config\Entity\ConfigEntityInterface $bundle * @param array $form * @param \Drupal\Core\Form\FormStateInterface $form_state */ public function formBuilderCallback($entity_type, ConfigEntityInterface $bundle, &$form, FormStateInterface $form_state) { // @todo write a test for this. $bundle->setThirdPartySetting('workbench_moderation', 'enabled', $form_state->getValue('enable_moderation_state')); $bundle->setThirdPartySetting('workbench_moderation', 'allowed_moderation_states', array_keys(array_filter($form_state->getValue('allowed_moderation_states')))); $bundle->setThirdPartySetting('workbench_moderation', 'default_moderation_state', $form_state->getValue('default_moderation_state')); }