class LingotekSettingsDefaultsForm in Lingotek Translation 8.2
Same name and namespace in other branches
- 8 src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- 4.0.x src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- 3.0.x src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- 3.1.x src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- 3.2.x src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- 3.3.x src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- 3.4.x src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- 3.5.x src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- 3.6.x src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- 3.7.x src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- 3.8.x src/Form/LingotekSettingsDefaultsForm.php \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
Configure text display settings for this page.
Hierarchy
- class \Drupal\Core\Form\FormBase implements ContainerInjectionInterface, FormInterface uses DependencySerializationTrait, LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\Core\Form\ConfigFormBase uses ConfigFormBaseTrait
- class \Drupal\lingotek\Form\LingotekConfigFormBase
- class \Drupal\lingotek\Form\LingotekSettingsDefaultsForm
- class \Drupal\lingotek\Form\LingotekConfigFormBase
- class \Drupal\Core\Form\ConfigFormBase uses ConfigFormBaseTrait
Expanded class hierarchy of LingotekSettingsDefaultsForm
1 file declares its use of LingotekSettingsDefaultsForm
- LingotekSetupController.php in src/
Controller/ LingotekSetupController.php
File
- src/
Form/ LingotekSettingsDefaultsForm.php, line 10
Namespace
Drupal\lingotek\FormView source
class LingotekSettingsDefaultsForm extends LingotekConfigFormBase {
protected $defaults_labels = [];
protected $defaults;
protected $resources;
public function init() {
$this->defaults = $this->lingotek
->getEditable('default');
$this->resources = $this->lingotek
->getResources();
// Make visible only those options that have more than one choice
if (count($this->resources['project']) > 1) {
$this->defaults_labels['project'] = t('Default Project');
}
elseif (count($this->resources['project']) == 1) {
$this->lingotek
->set('default.project', current(array_keys($this->resources['project'])));
}
if (count($this->resources['vault']) > 1) {
$this->defaults_labels['vault'] = t('Default Vault');
}
elseif (count($this->resources['vault']) == 1) {
$this->lingotek
->set('default.vault', current(array_keys($this->resources['vault'])));
}
if (count($this->resources['filter']) > 1) {
$this->defaults_labels['filter'] = t('Default Filter');
$this->defaults_labels['subfilter'] = t('Default Subfilter');
}
else {
$this->lingotek
->set('default.filter', 'drupal_default');
$this->lingotek
->set('default.subfilter', 'drupal_default');
}
// Set workflow to machine translation every time regardless if there's more than one choice
$machine_translation = array_search('Machine Translation', $this->resources['workflow']);
if ($machine_translation) {
$this->lingotek
->set('default.workflow', $machine_translation);
}
}
/**
* {@inheritdoc}
*/
public function getFormID() {
return 'lingotek.settings_defaults';
}
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state) {
$this
->init();
foreach ($this->defaults_labels as $key => $label) {
$resources_key = $key === 'subfilter' ? 'filter' : $key;
asort($this->resources[$resources_key]);
if ($key === 'filter' || $key === 'subfilter') {
$options = [
'project_default' => 'Use Project Default',
'drupal_default' => 'Use Drupal Default',
] + $this->resources[$resources_key];
}
else {
$options = $this->resources[$key];
}
$form[$key] = [
'#title' => $label,
'#type' => 'select',
'#options' => $options,
'#default_value' => $this->defaults[$key],
'#required' => TRUE,
];
}
return parent::buildForm($form, $form_state);
}
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
$config = $this
->configFactory()
->getEditable('lingotek.settings');
$form_values = $form_state
->getValues();
foreach ($this->defaults_labels as $key => $label) {
$config
->set('default.' . $key, $form_values[$key]);
}
$config
->save();
// Since the lingotek module is newly installed, assign the callback
$this
->setCallbackUrl($config);
$form_state
->setRedirect('lingotek.dashboard');
parent::submitForm($form, $form_state);
}
/**
* @param $config
*/
protected function setCallbackUrl($config) {
$new_callback_url = \Drupal::urlGenerator()
->generateFromRoute('lingotek.notify', [], [
'absolute' => TRUE,
]);
$config
->set('account.callback_url', $new_callback_url);
$new_response = $this->lingotek
->setProjectCallBackUrl($config
->get('default.project'), $new_callback_url);
$config
->save();
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigFormBaseTrait:: |
protected | function | Retrieves a configuration object. | |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
FormBase:: |
protected | property | The config factory. | 1 |
FormBase:: |
protected | property | The request stack. | 1 |
FormBase:: |
protected | property | The route match. | |
FormBase:: |
protected | function | Gets the config factory for this form. | 1 |
FormBase:: |
private | function | Returns the service container. | |
FormBase:: |
protected | function | Gets the current user. | |
FormBase:: |
protected | function | Gets the request object. | |
FormBase:: |
protected | function | Gets the route match. | |
FormBase:: |
protected | function | Gets the logger for a specific channel. | |
FormBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
FormBase:: |
public | function | Resets the configuration factory. | |
FormBase:: |
public | function | Sets the config factory for this form. | |
FormBase:: |
public | function | Sets the request stack object to use. | |
FormBase:: |
public | function |
Form validation handler. Overrides FormInterface:: |
62 |
FormInterface:: |
public | function | Returns a unique string identifying the form. | 236 |
LingotekConfigFormBase:: |
public static | function |
Instantiates a new instance of this class. Overrides ConfigFormBase:: |
5 |
LingotekConfigFormBase:: |
public | function |
Gets the configuration names that will be editable. Overrides ConfigFormBaseTrait:: |
|
LingotekConfigFormBase:: |
public | function |
Constructs a \Drupal\lingotek\Form\LingotekConfigFormBase object. Overrides ConfigFormBase:: |
5 |
LingotekSettingsDefaultsForm:: |
protected | property | ||
LingotekSettingsDefaultsForm:: |
protected | property | ||
LingotekSettingsDefaultsForm:: |
protected | property | ||
LingotekSettingsDefaultsForm:: |
public | function |
Form constructor. Overrides ConfigFormBase:: |
|
LingotekSettingsDefaultsForm:: |
public | function | ||
LingotekSettingsDefaultsForm:: |
public | function | 1 | |
LingotekSettingsDefaultsForm:: |
protected | function | ||
LingotekSettingsDefaultsForm:: |
public | function |
Form submission handler. Overrides ConfigFormBase:: |
1 |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. |