You are here

public function MaestroEngineSettingsForm::buildForm in Maestro 8.2

Same name and namespace in other branches
  1. 3.x src/Form/MaestroEngineSettingsForm.php \Drupal\maestro\Form\MaestroEngineSettingsForm::buildForm()

Form constructor.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array The form structure.

Overrides ConfigFormBase::buildForm

File

src/Form/MaestroEngineSettingsForm.php, line 32

Class

MaestroEngineSettingsForm
Configure settings for this site.

Namespace

Drupal\maestro\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $config = $this
    ->config('maestro.settings');
  $default = $config
    ->get('maestro_redirect_location');
  $form['maestro_redirect_location'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('URI used in notifications to redirect the recipient to.'),
    '#default_value' => isset($default) ? $default : '/taskconsole',
    '#description' => $this
      ->t('Defaults to /taskconsole'),
    '#required' => TRUE,
  ];
  $form['maestro_send_notifications'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t("Send out notifications"),
    '#default_value' => $config
      ->get('maestro_send_notifications'),
    '#description' => $this
      ->t('When checked, this config value will enable outgoing notifications.'),
  ];
  $form['maestro_orchestrator_task_console'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t("Run the Orchestrator on Task Console Refreshes"),
    '#default_value' => $config
      ->get('maestro_orchestrator_task_console'),
    '#description' => $this
      ->t('When checked, a refresh of the Task Console (provided by Maestro) will run the orchestrator.'),
  ];
  $default = $config
    ->get('maestro_orchestrator_token');
  $form['maestro_orchestrator_token'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('The token that MUST be appended to the /orchestrator URL in order to run the orchestrator.'),
    '#default_value' => isset($default) ? $default : '',
    '#description' => $this
      ->t('Defaults to nothing.  YOU MUST SET THIS!  Resulting URL to run the orchestrator is http://[site]/orchestrator/{token}'),
    '#required' => TRUE,
  ];
  $default = $config
    ->get('maestro_orchestrator_lock_execution_time');
  $form['maestro_orchestrator_lock_execution_time'] = [
    '#type' => 'number',
    '#size' => 5,
    '#title' => $this
      ->t('The number of seconds you wish to let the orchestrator lock for.'),
    '#default_value' => isset($default) ? $default : '30',
    '#description' => $this
      ->t('Default 30 seconds. You must tune this value to however long you believe the orchestrator can potentially run for.'),
    '#required' => TRUE,
  ];
  $form['maestro_orchestrator_development_mode'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t("Turn on Maestro Development Mode during orchestrator execution."),
    '#default_value' => $config
      ->get('maestro_orchestrator_development_mode'),
    '#description' => $this
      ->t('LEAVE THIS OFF EXCEPT WHEN TROUBLESHOOTING. When checked, Maestro Development mode is activated.') . $this
      ->t('This forces the orchestrator to reset the cache on entity queries.') . $this
      ->t('This will add processing time to the orchestrator. Please see the Maestro Installation Documentation on Drupal.org (https://www.drupal.org/docs/8/modules/maestro/installation).'),
  ];
  return parent::buildForm($form, $form_state);
}