Version 1
[yaffs-website] / web / core / modules / node / src / Plugin / views / field / RevisionLinkRevert.php
diff --git a/web/core/modules/node/src/Plugin/views/field/RevisionLinkRevert.php b/web/core/modules/node/src/Plugin/views/field/RevisionLinkRevert.php
new file mode 100644 (file)
index 0000000..33b20b8
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+
+namespace Drupal\node\Plugin\views\field;
+
+use Drupal\Core\Url;
+use Drupal\views\ResultRow;
+
+/**
+ * Field handler to present a link to revert a node to a revision.
+ *
+ * @ingroup views_field_handlers
+ *
+ * @ViewsField("node_revision_link_revert")
+ */
+class RevisionLinkRevert extends RevisionLink {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function getUrlInfo(ResultRow $row) {
+    /** @var \Drupal\node\NodeInterface $node */
+    $node = $this->getEntity($row);
+    return Url::fromRoute('node.revision_revert_confirm', ['node' => $node->id(), 'node_revision' => $node->getRevisionId()]);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function getDefaultLabel() {
+    return $this->t('Revert');
+  }
+
+}