Mercurial > hg > cmmr2012-drupal-site
view core/modules/user/src/ProfileTranslationHandler.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children | 12f9dff5fda9 |
line wrap: on
line source
<?php namespace Drupal\user; use Drupal\Core\Entity\EntityInterface; use Drupal\content_translation\ContentTranslationHandler; use Drupal\Core\Form\FormStateInterface; /** * Defines the translation handler for users. */ class ProfileTranslationHandler extends ContentTranslationHandler { /** * {@inheritdoc} */ protected function hasPublishedStatus() { // User status has nothing to do with translations visibility. return FALSE; } /** * {@inheritdoc} */ protected function hasCreatedTime() { // User creation date has nothing to do with translation creation date. return FALSE; } /** * {@inheritdoc} */ public function entityFormAlter(array &$form, FormStateInterface $form_state, EntityInterface $entity) { parent::entityFormAlter($form, $form_state, $entity); $form['actions']['submit']['#submit'][] = [$this, 'entityFormSave']; } /** * Form submission handler for ProfileTranslationHandler::entityFormAlter(). * * This handles the save action. * * @see \Drupal\Core\Entity\EntityForm::build() */ public function entityFormSave(array $form, FormStateInterface $form_state) { if ($this->getSourceLangcode($form_state)) { $entity = $form_state->getFormObject()->getEntity(); // We need a redirect here, otherwise we would get an access denied page // since the current URL would be preserved and we would try to add a // translation for a language that already has a translation. $form_state->setRedirectUrl($entity->urlInfo()); } } }