public function LanguageConfigEntityFormBase::save in Flags 8
Overrides Drupal\Core\Entity\EntityFormController::save().
Saves the entity. This is called after submit() has built the entity from the form values. Do not override submit() as save() is the preferred method for entity form controllers.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: An associative array containing the current state of the form.
Return value
int Either SAVED_NEW or SAVED_UPDATED, depending on the operation performed.
Overrides EntityForm::save
File
- flags_ui/
src/ Form/ LanguageConfigEntityFormBase.php, line 173
Class
- LanguageConfigEntityFormBase
- Class ConfigEntityFormBase.
Namespace
Drupal\flags_ui\FormCode
public function save(array $form, FormStateInterface $form_state) {
// EntityForm provides us with the entity we're working on.
/** @var FlagMapping $mapping */
$mapping = $this
->getEntity();
// Drupal already populated the form values in the entity object. Each
// form field was saved as a public variable in the entity class. PHP
// allows Drupal to do this even if the method is not defined ahead of
// time.
$status = $mapping
->save();
// Grab the URL of the new entity. We'll use it in the message.
$url = $mapping
->toUrl();
// Create an edit link.
$edit_link = Link::fromTextAndUrl($this
->t('Edit'), $url)
->toString();
if ($status == SAVED_UPDATED) {
// If we edited an existing entity...
$this
->messenger()
->addStatus($this
->t('Mapping %label has been updated.', array(
'%label' => $mapping
->label(),
)));
$this
->logger('flags_languages')
->notice('Mapping %label has been updated.', [
'%label' => $mapping
->label(),
'link' => $edit_link,
]);
}
else {
// If we created a new entity...
$this
->messenger()
->addStatus($this
->t('Mapping %label has been added.', array(
'%label' => $mapping
->label(),
)));
$this
->logger('flags_languages')
->notice('Mapping %label has been added.', [
'%label' => $mapping
->label(),
'link' => $edit_link,
]);
}
// Redirect the user back to the listing route after the save operation.
$form_state
->setRedirect('entity.language_flag_mapping.list');
return $status;
}