You are here

function l10n_client_contributor_form_locale_translate_edit_form_alter in Localization client 8

Implements hook_form_FORM_ID_alter().

File

l10n_client_contributor/l10n_client_contributor.module, line 139
Submits translations to a remote localization server.

Code

function l10n_client_contributor_form_locale_translate_edit_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  $config = \Drupal::config('l10n_client_contributor.settings');
  if ($config
    ->get('use_server')) {

    /** @var \Drupal\user\UserInterface $account */
    $account = User::load(\Drupal::currentUser()
      ->id());
    if ($account
      ->hasPermission('contribute translations to localization server') && $account
      ->hasField('l10n_client_contributor_key') && !$account
      ->get('l10n_client_contributor_key')
      ->isEmpty() && isset($form['actions']['submit'])) {

      // Make the button more expressive of what is happening.
      $form['actions']['submit']['#value'] = t('Save and contribute');
      $form['actions']['submit']['#button_type'] = 'primary';

      // Wire in remote submission to the form submission.
      array_unshift($form['#submit'], 'l10n_client_contributor_form_locale_translate_edit_form_submit');
    }
  }
}