use Drupal\Core\Field\BaseFieldDefinition;
{% if revisionable %}
use Drupal\Core\Entity\RevisionableContentEntityBase;
+use Drupal\Core\Entity\RevisionableInterface;
{% else %}
use Drupal\Core\Entity\ContentEntityBase;
{% endif %}
{% if revisionable %}
* "version-history" = "{{ base_path }}/{{ entity_name }}/{{ '{'~entity_name~'}' }}/revisions",
* "revision" = "{{ base_path }}/{{ entity_name }}/{{ '{'~entity_name~'}' }}/revisions/{{ '{'~entity_name~'_revision}' }}/view",
-{% if is_translatable %}
* "revision_revert" = "{{ base_path }}/{{ entity_name }}/{{ '{'~entity_name~'}' }}/revisions/{{ '{'~entity_name~'_revision}' }}/revert",
+ * "revision_delete" = "{{ base_path }}/{{ entity_name }}/{{ '{'~entity_name~'}' }}/revisions/{{ '{'~entity_name~'_revision}' }}/delete",
+{% if is_translatable %}
* "translation_revert" = "{{ base_path }}/{{ entity_name }}/{{ '{'~entity_name~'}' }}/revisions/{{ '{'~entity_name~'_revision}' }}/revert/{langcode}",
{% endif %}
- * "revision_delete" = "{{ base_path }}/{{ entity_name }}/{{ '{'~entity_name~'}' }}/revisions/{{ '{'~entity_name~'_revision}' }}/delete",
{% endif %}
* "collection" = "{{ base_path }}/{{ entity_name }}",
* },
}
{% if revisionable %}
+ /**
+ * {@inheritdoc}
+ */
+ protected function urlRouteParameters($rel) {
+ $uri_route_parameters = parent::urlRouteParameters($rel);
+
+ if ($rel === 'revision_revert' && $this instanceof RevisionableInterface) {
+ $uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId();
+ }
+ elseif ($rel === 'revision_delete' && $this instanceof RevisionableInterface) {
+ $uri_route_parameters[$this->getEntityTypeId() . '_revision'] = $this->getRevisionId();
+ }
+
+ return $uri_route_parameters;
+ }
+
/**
* {@inheritdoc}
*/
'weight' => -4,
])
->setDisplayConfigurable('form', TRUE)
- ->setDisplayConfigurable('view', TRUE);
+ ->setDisplayConfigurable('view', TRUE)
+ ->setRequired(TRUE);
$fields['status'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Publishing status'))
{% if revisionable %}
->setRevisionable(TRUE)
{% endif %}
- ->setDefaultValue(TRUE);
+ ->setDefaultValue(TRUE)
+ ->setDisplayOptions('form', [
+ 'type' => 'boolean_checkbox',
+ 'weight' => -3,
+ ]);
$fields['created'] = BaseFieldDefinition::create('created')
->setLabel(t('Created'))