class LingotekDisassociateAllConfirmForm in Lingotek Translation 8.2
Same name and namespace in other branches
- 4.0.x src/Form/LingotekDisassociateAllConfirmForm.php \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
- 3.0.x src/Form/LingotekDisassociateAllConfirmForm.php \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
- 3.1.x src/Form/LingotekDisassociateAllConfirmForm.php \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
- 3.2.x src/Form/LingotekDisassociateAllConfirmForm.php \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
- 3.3.x src/Form/LingotekDisassociateAllConfirmForm.php \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
- 3.4.x src/Form/LingotekDisassociateAllConfirmForm.php \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
- 3.5.x src/Form/LingotekDisassociateAllConfirmForm.php \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
- 3.6.x src/Form/LingotekDisassociateAllConfirmForm.php \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
- 3.7.x src/Form/LingotekDisassociateAllConfirmForm.php \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
- 3.8.x src/Form/LingotekDisassociateAllConfirmForm.php \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
Show a warning before disassociate all content.
Hierarchy
- class \Drupal\Core\Form\FormBase implements ContainerInjectionInterface, FormInterface uses DependencySerializationTrait, LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\Core\Form\ConfirmFormBase implements ConfirmFormInterface
- class \Drupal\lingotek\Form\LingotekDisassociateAllConfirmForm
- class \Drupal\Core\Form\ConfirmFormBase implements ConfirmFormInterface
Expanded class hierarchy of LingotekDisassociateAllConfirmForm
Deprecated
in 8.x-2.14, will be removed in 8.x-2.16. Use \Drupal\lingotek\Form\LingotekCancelAllConfirmForm instead.
1 string reference to 'LingotekDisassociateAllConfirmForm'
File
- src/
Form/ LingotekDisassociateAllConfirmForm.php, line 21
Namespace
Drupal\lingotek\FormView source
class LingotekDisassociateAllConfirmForm extends ConfirmFormBase {
/**
* The Lingotek content translation service.
*
* @var \Drupal\lingotek\LingotekContentTranslationServiceInterface
*/
protected $contentTranslationService;
/**
* The Lingotek configuration translation service.
*
* @var \Drupal\lingotek\LingotekConfigTranslationServiceInterface
*/
protected $configTranslationService;
/**
* Constructs a new LingotekDisassociateAllConfirmForm object.
*
* @param \Drupal\lingotek\LingotekContentTranslationServiceInterface $content_translation_service
* The Lingotek content translation service.
* @param \Drupal\lingotek\LingotekConfigTranslationServiceInterface $config_translation_service
* The Lingotek config translation service.
*/
public function __construct(LingotekContentTranslationServiceInterface $content_translation_service, LingotekConfigTranslationServiceInterface $config_translation_service) {
$this->contentTranslationService = $content_translation_service;
$this->configTranslationService = $config_translation_service;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container
->get('lingotek.content_translation'), $container
->get('lingotek.config_translation'));
}
/**
* {@inheritdoc}
*/
public function getFormID() {
return 'lingotek_disassociate_all_config_form';
}
/**
* {@inheritdoc}
*/
public function getFormName() {
return 'lingotek_disassociate_all_config_form';
}
/**
* {@inheritdoc}
*/
public function getQuestion() {
return $this
->t('Are you sure you want to disassociate everything from Lingotek?');
}
/**
* {@inheritdoc}
*/
public function getDescription() {
$string = '<p>' . $this
->t("This is useful for switching between different environments. It will disassociate the content from TMS content so your next changes won't alter what is getting worked on from the TMS.") . '</p>';
$string .= '<p>' . $this
->t("This option should only be used if you still want the translations to be completed (and eventually billed for) in Lingotek's TMS.") . '</p>';
$string .= '<p>' . $this
->t("Check if you may want to use the Cancel option instead.") . '</p>';
$string .= '<p>' . parent::getDescription() . '</p>';
return $string;
}
/**
* {@inheritdoc}
*/
public function getConfirmText() {
return $this
->t('Disassociate');
}
/**
* {@inheritdoc}
*/
public function getCancelUrl() {
return new Url('lingotek.settings');
}
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
$this
->disassociateAllTranslations();
$form_state
->setRedirectUrl($this
->getCancelUrl());
}
/**
* Disassociate all content and config translations.
*/
public function disassociateAllTranslations() {
$error = FALSE;
$error &= $this
->disassociateAllContentTranslations();
$error &= $this
->disassociateAllConfigTranslations();
if ($error) {
$this
->messenger()
->addWarning($this
->t('Some translations may have been disassociated, but some failed.'));
}
else {
$this
->messenger()
->addStatus($this
->t('All translations have been disassociated.'));
}
}
/**
* Disassociate all config translations.
*/
protected function disassociateAllConfigTranslations() {
$error = FALSE;
/** @var \Drupal\lingotek\Entity\LingotekConfigMetadata[] $all_config_metadata */
$all_config_metadata = LingotekConfigMetadata::loadMultiple();
foreach ($all_config_metadata as $config_metadata) {
try {
$mapper = $config_metadata
->getConfigMapper();
if ($mapper instanceof ConfigEntityMapper) {
$entity = $mapper
->getEntity();
$this->configTranslationService
->deleteMetadata($entity);
}
else {
$this->configTranslationService
->deleteConfigMetadata($mapper
->getPluginId());
}
} catch (LingotekApiException $exception) {
$error = TRUE;
if ($mapper instanceof ConfigEntityMapper) {
$this
->messenger()
->addError(t('The deletion of %title failed. Please try again.', [
'%title' => $mapper
->getEntity()
->label(),
]));
}
else {
$this
->messenger()
->addError(t('The deletion of %title failed. Please try again.', [
'%title' => $mapper
->getPluginId(),
]));
}
}
}
return $error;
}
/**
* Disassociate all content translations.
*/
protected function disassociateAllContentTranslations() {
$error = FALSE;
/** @var \Drupal\lingotek\Entity\LingotekContentMetadata[] $all_content_metadata */
$all_content_metadata = LingotekContentMetadata::loadMultiple();
foreach ($all_content_metadata as $content_metadata) {
try {
$content_metadata
->delete();
} catch (LingotekApiException $exception) {
$error = TRUE;
$this
->messenger()
->addError(t('The disassociation of @entity_type %title failed. Please try again.', [
'@entity_type' => $content_metadata
->getContentEntityTypeId(),
'%title' => $content_metadata
->id(),
]));
}
}
if ($error) {
$this
->messenger()
->addWarning($this
->t('Some translations may have been disassociated, but some failed.'));
}
else {
$this
->messenger()
->addStatus($this
->t('All translations have been disassociated.'));
}
return $error;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfirmFormBase:: |
public | function |
Form constructor. Overrides FormInterface:: |
21 |
ConfirmFormBase:: |
public | function |
Returns a caption for the link which cancels the action. Overrides ConfirmFormInterface:: |
1 |
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 | Retrieves a configuration object. | |
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 |
LingotekDisassociateAllConfirmForm:: |
protected | property | The Lingotek configuration translation service. | |
LingotekDisassociateAllConfirmForm:: |
protected | property | The Lingotek content translation service. | |
LingotekDisassociateAllConfirmForm:: |
public static | function |
Instantiates a new instance of this class. Overrides FormBase:: |
|
LingotekDisassociateAllConfirmForm:: |
protected | function | Disassociate all config translations. | |
LingotekDisassociateAllConfirmForm:: |
protected | function | Disassociate all content translations. | |
LingotekDisassociateAllConfirmForm:: |
public | function | Disassociate all content and config translations. | |
LingotekDisassociateAllConfirmForm:: |
public | function |
Returns the route to go to if the user cancels the action. Overrides ConfirmFormInterface:: |
|
LingotekDisassociateAllConfirmForm:: |
public | function |
Returns a caption for the button that confirms the action. Overrides ConfirmFormBase:: |
|
LingotekDisassociateAllConfirmForm:: |
public | function |
Returns additional text to display as a description. Overrides ConfirmFormBase:: |
|
LingotekDisassociateAllConfirmForm:: |
public | function | ||
LingotekDisassociateAllConfirmForm:: |
public | function |
Returns the internal name used to refer to the confirmation item. Overrides ConfirmFormBase:: |
|
LingotekDisassociateAllConfirmForm:: |
public | function |
Returns the question to ask the user. Overrides ConfirmFormInterface:: |
|
LingotekDisassociateAllConfirmForm:: |
public | function |
Form submission handler. Overrides FormInterface:: |
|
LingotekDisassociateAllConfirmForm:: |
public | function | Constructs a new LingotekDisassociateAllConfirmForm object. | |
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. |