From 8dc87c91c364c0228dc9190162c7e74e8cd2dbc0 Mon Sep 17 00:00:00 2001 From: webchick Date: Tue, 11 Oct 2016 12:51:35 -0700 Subject: [PATCH] =?UTF-8?q?Issue=20#2744877=20by=20katzilla,=20dernetzjaeg?= =?UTF-8?q?er,=20biancajs,=20chipway,=20G=C3=A1bor=20Hojtsy,=20catch,=20ro?= =?UTF-8?q?mainj,=20lucur,=20yoroy,=20kamalrajsahu21,=20dietmarg:=20Node?= =?UTF-8?q?=20add=20form=20shows=20'create=20new=20revision'=20checkbox?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/modules/node/src/NodeForm.php | 2 +- core/modules/node/src/Tests/NodeCreationTest.php | 6 ++++++ core/modules/node/src/Tests/NodeEditFormTest.php | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/modules/node/src/NodeForm.php b/core/modules/node/src/NodeForm.php index 82faab70843..d9437db31f9 100644 --- a/core/modules/node/src/NodeForm.php +++ b/core/modules/node/src/NodeForm.php @@ -139,7 +139,7 @@ class NodeForm extends ContentEntityForm { '#type' => 'checkbox', '#title' => t('Create new revision'), '#default_value' => $node->type->entity->isNewRevision(), - '#access' => $current_user->hasPermission('administer nodes'), + '#access' => $current_user->hasPermission('administer nodes') && !$node->isNew(), '#group' => 'revision_information', ); diff --git a/core/modules/node/src/Tests/NodeCreationTest.php b/core/modules/node/src/Tests/NodeCreationTest.php index bf3ce864cbd..7c4e1424e44 100644 --- a/core/modules/node/src/Tests/NodeCreationTest.php +++ b/core/modules/node/src/Tests/NodeCreationTest.php @@ -72,6 +72,12 @@ class NodeCreationTest extends NodeTestBase { $this->drupalGet('node/' . $node->id()); $this->assertText($node->getOwner()->getUsername()); $this->assertText(format_date($node->getCreatedTime())); + + // Check if the node revision checkbox is not rendered on node creation form. + $admin_user = $this->drupalCreateUser(array('administer nodes', 'create page content')); + $this->drupalLogin($admin_user); + $this->drupalGet('node/add/page'); + $this->assertNoFieldById('edit-revision', NULL , 'The revision checkbox is not present.'); } /** diff --git a/core/modules/node/src/Tests/NodeEditFormTest.php b/core/modules/node/src/Tests/NodeEditFormTest.php index b154ca0bbdd..0d6bf45fd25 100644 --- a/core/modules/node/src/Tests/NodeEditFormTest.php +++ b/core/modules/node/src/Tests/NodeEditFormTest.php @@ -111,6 +111,10 @@ class NodeEditFormTest extends NodeTestBase { $first_node_version = node_revision_load($node->getRevisionId()); $second_node_version = node_revision_load($revised_node->getRevisionId()); $this->assertNotIdentical($first_node_version->getRevisionUser()->id(), $second_node_version->getRevisionUser()->id(), 'Each revision has a distinct user.'); + + // Check if the node revision checkbox is rendered on node edit form. + $this->drupalGet('node/' . $node->id() . '/edit'); + $this->assertFieldById('edit-revision', NULL, 'The revision field is present.'); } /**