public function ScheduleForm::form in Backup and Migrate 8.4
Same name and namespace in other branches
- 5.0.x src/Form/ScheduleForm.php \Drupal\backup_migrate\Form\ScheduleForm::form()
Gets the actual form array to be built.
Overrides EntityForm::form
See also
\Drupal\Core\Entity\EntityForm::processForm()
\Drupal\Core\Entity\EntityForm::afterBuild()
File
- src/
Form/ ScheduleForm.php, line 21
Class
- ScheduleForm
- Class ScheduleForm.
Namespace
Drupal\backup_migrate\FormCode
public function form(array $form, FormStateInterface $form_state) {
$form = parent::form($form, $form_state);
$backup_migrate_schedule = $this->entity;
$form['label'] = [
'#type' => 'textfield',
'#title' => $this
->t('Schedule Name'),
'#maxlength' => 255,
'#default_value' => $backup_migrate_schedule
->label(),
'#required' => TRUE,
];
$form['id'] = [
'#type' => 'machine_name',
'#default_value' => $backup_migrate_schedule
->id(),
'#machine_name' => [
'exists' => '\\Drupal\\backup_migrate\\Entity\\Schedule::load',
],
'#disabled' => !$backup_migrate_schedule
->isNew(),
];
$form['enabled'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Schedule enabled'),
'#default_value' => $backup_migrate_schedule
->get('enabled'),
];
$bam = backup_migrate_get_service_object([], [
'nobrowser' => TRUE,
]);
$form['source_id'] = DrupalConfigHelper::getSourceSelector($bam, t('Backup Source'), $backup_migrate_schedule
->get('source_id'));
$form['destination_id'] = DrupalConfigHelper::getDestinationSelector($bam, t('Backup Destination'), $backup_migrate_schedule
->get('destination_id'));
$form['settings_profile_id'] = DrupalConfigHelper::getSettingsProfileSelector(t('Settings Profile'), $backup_migrate_schedule
->get('settings_profile_id'));
$period = Schedule::secondsToPeriod($backup_migrate_schedule
->get('period'));
$form['period_container'] = [
// Reset #parents so the additional container does not appear.
'#parents' => [],
'#type' => 'fieldset',
'#title' => $this
->t('Frequency'),
'#field_prefix' => $this
->t('Run every'),
'#attributes' => [
'class' => [
'container-inline',
'fieldgroup',
'form-composite',
],
],
];
$form['period_container']['period_number'] = [
'#type' => 'number',
'#default_value' => $period['number'],
'#min' => 1,
'#title' => $this
->t('Period number'),
'#title_display' => 'invisible',
'#size' => 2,
];
$form['period_container']['period_type'] = [
'#type' => 'select',
'#title' => $this
->t('Period type'),
'#title_display' => 'invisible',
'#options' => [],
'#default_value' => $period['type'],
];
foreach (Schedule::getPeriodTypes() as $key => $type) {
$form['period_container']['period_type']['#options'][$key] = $type['title'];
}
$form['keep'] = [
'#type' => 'textfield',
'#title' => $this
->t('Number to keep'),
'#default_value' => $backup_migrate_schedule
->get('keep'),
'#description' => $this
->t('The number of backups to retain. Once this number is reached, the oldest backup will be deleted to make room for the most recent backup. Leave blank to keep all backups.'),
'#size' => 10,
];
return $form;
}