function multiple_registration_form_field_config_edit_form_alter in Multiple Registration 8.2
Same name and namespace in other branches
- 8 multiple_registration.module \multiple_registration_form_field_config_edit_form_alter()
- 3.x multiple_registration.module \multiple_registration_form_field_config_edit_form_alter()
Implements hook_form_FORM_ID_alter().
File
- ./
multiple_registration.module, line 85 - Contains multiple_registration.module.
Code
function multiple_registration_form_field_config_edit_form_alter(&$form, FormStateInterface $form_state, $form_id) {
$field = $form_state
->getFormObject()
->getEntity();
$instance = $field;
if ($instance
->get('entity_type') === 'user' && !$instance
->isDeleted() && !$instance
->isReadonly()) {
$reg_pages = \Drupal::service('multiple_registration.service')
->getRegistrationPages();
if ($reg_pages) {
$options[MultipleRegistrationController::MULTIPLE_REGISTRATION_GENERAL_REGISTRATION_ID] = t('General registered users');
foreach ($reg_pages as $rid => $page) {
$options[$rid] = t('Users with %role role', [
'%role' => $page['role_name'],
]);
}
$descr = t('Specify which of options are actual for this field. If nothing is selected, field is available for all variants.');
$def_val = $instance
->getThirdPartySetting('multiple_registration', 'user_additional_register_form', []);
$form['field']['third_party_settings']['multiple_registration'] = [
'#type' => 'checkboxes',
'#title' => t('This field is needed for:'),
'#description' => $descr,
'#default_value' => $def_val,
'#options' => $options,
];
if (!isset($form['required']['#default_value']) || !$form['required']['#default_value']) {
$descr = t('Note: works only if "Required field" is unchecked!');
$def_val = $instance
->getThirdPartySetting('multiple_registration', 'user_additional_register_form_required', []);
$form['field']['third_party_settings']['multiple_registration_required'] = [
'#type' => 'checkboxes',
'#title' => t('This field is required for:'),
'#description' => $descr,
'#default_value' => $def_val,
'#options' => $options,
];
}
$form['actions']['submit']['#submit'][] = 'multiple_registration_field_config_form_submit';
}
}
}