entity->isNew()) { $form['new_revision'] = [ '#type' => 'checkbox', '#title' => $this->t('Create new revision'), '#default_value' => FALSE, '#weight' => 10, ]; } $entity = $this->entity; return $form; } /** * {@inheritdoc} */ public function save(array $form, FormStateInterface $form_state) { $entity = $this->entity; // Always make a new revision for a person. They are not changed often and people are likely to // want to know what has happened to them over time. $entity->setNewRevision(); $entity->setRevisionCreationTime(REQUEST_TIME); $entity->setRevisionUserId(\Drupal::currentUser()->id()); $status = parent::save($form, $form_state); switch ($status) { case SAVED_NEW: drupal_set_message($this->t('Created %label.', [ '%label' => $entity->label(), ])); break; default: drupal_set_message($this->t('Saved %label.', [ '%label' => $entity->label(), ])); } // If you have unpublished the entity and you can't see unpublished entities, redirect to a more informative message than just "Access Denied". if (!$form_state->getValue('status')['value'] && !\Drupal::currentUser()->hasPermission('view unpublished actor entities')) { $form_state->setRedirect('entity.node.canonical', ['node' => 1]); } else { $form_state->setRedirect('entity.oc_actor.canonical', ['oc_actor' => $entity->id()]); } } }