Issue #2072369 by tim.plunkett: Modernize book.module forms.
parent
206e2b2525
commit
f557439503
|
@ -15,6 +15,6 @@ book_admin:
|
|||
book_settings:
|
||||
pattern: '/admin/structure/book/settings'
|
||||
defaults:
|
||||
_form: 'Drupal\book\BookSettingsForm'
|
||||
_form: 'Drupal\book\Form\BookSettingsForm'
|
||||
requirements:
|
||||
_permission: 'administer site configuration'
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
/**
|
||||
* @file
|
||||
* Contains \Drupal\book\BookSettingsForm.
|
||||
* Contains \Drupal\book\Form\BookSettingsForm.
|
||||
*/
|
||||
|
||||
namespace Drupal\book;
|
||||
namespace Drupal\book\Form;
|
||||
|
||||
use Drupal\system\SystemConfigFormBase;
|
||||
|
||||
|
@ -15,29 +15,29 @@ use Drupal\system\SystemConfigFormBase;
|
|||
class BookSettingsForm extends SystemConfigFormBase {
|
||||
|
||||
/**
|
||||
* Implements \Drupal\Core\Form\FormInterface::getFormID().
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getFormID() {
|
||||
return 'book_admin_settings';
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements \Drupal\Core\Form\FormInterface::buildForm().
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function buildForm(array $form, array &$form_state) {
|
||||
$types = node_type_get_names();
|
||||
$config = $this->configFactory->get('book.settings');
|
||||
$form['book_allowed_types'] = array(
|
||||
'#type' => 'checkboxes',
|
||||
'#title' => t('Content types allowed in book outlines'),
|
||||
'#title' => $this->t('Content types allowed in book outlines'),
|
||||
'#default_value' => $config->get('allowed_types'),
|
||||
'#options' => $types,
|
||||
'#description' => t('Users with the %outline-perm permission can add all content types.', array('%outline-perm' => t('Administer book outlines'))),
|
||||
'#description' => $this->t('Users with the %outline-perm permission can add all content types.', array('%outline-perm' => $this->t('Administer book outlines'))),
|
||||
'#required' => TRUE,
|
||||
);
|
||||
$form['book_child_type'] = array(
|
||||
'#type' => 'radios',
|
||||
'#title' => t('Content type for child pages'),
|
||||
'#title' => $this->t('Content type for child pages'),
|
||||
'#default_value' => $config->get('child_type'),
|
||||
'#options' => $types,
|
||||
'#required' => TRUE,
|
||||
|
@ -48,19 +48,19 @@ class BookSettingsForm extends SystemConfigFormBase {
|
|||
}
|
||||
|
||||
/**
|
||||
* Implements \Drupal\Core\Form\FormInterface::validateForm().
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function validateForm(array &$form, array &$form_state) {
|
||||
$child_type = $form_state['values']['book_child_type'];
|
||||
if (empty($form_state['values']['book_allowed_types'][$child_type])) {
|
||||
form_set_error('book_child_type', t('The content type for the %add-child link must be one of those selected as an allowed book outline type.', array('%add-child' => t('Add child page'))));
|
||||
form_set_error('book_child_type', $this->t('The content type for the %add-child link must be one of those selected as an allowed book outline type.', array('%add-child' => $this->t('Add child page'))));
|
||||
}
|
||||
|
||||
parent::validateForm($form, $form_state);
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements \Drupal\Core\Form\FormInterface::submitForm().
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function submitForm(array &$form, array &$form_state) {
|
||||
$allowed_types = array_filter($form_state['values']['book_allowed_types']);
|
Loading…
Reference in New Issue