diff --git a/typo3/sysext/backend/Classes/Tree/Pagetree/Commands.php b/typo3/sysext/backend/Classes/Tree/Pagetree/Commands.php index 2e67ef13fd39f17ea0a27b7d156c6ca357f76147..6c05d3de4b6b0fb6b2a189c369bf6e56483f5d35 100644 --- a/typo3/sysext/backend/Classes/Tree/Pagetree/Commands.php +++ b/typo3/sysext/backend/Classes/Tree/Pagetree/Commands.php @@ -372,7 +372,6 @@ class Commands } if ( !$subNode->canBeEdited() - || !$subNode->canBeRemoved() || VersionState::cast($record['t3ver_state'])->equals(VersionState::DELETE_PLACEHOLDER) ) { $subNode->setDraggable(false); diff --git a/typo3/sysext/backend/Classes/Tree/Pagetree/PagetreeNode.php b/typo3/sysext/backend/Classes/Tree/Pagetree/PagetreeNode.php index 82b39f58f3e10ea3ca21ab89f7ad45b2a32df4fa..c70371b43d6b581e2c33c6437863a120f76a03c8 100644 --- a/typo3/sysext/backend/Classes/Tree/Pagetree/PagetreeNode.php +++ b/typo3/sysext/backend/Classes/Tree/Pagetree/PagetreeNode.php @@ -424,6 +424,7 @@ class PagetreeNode extends \TYPO3\CMS\Backend\Tree\ExtDirectNode $arrayRepresentation['realId'] = $this->getId(); $arrayRepresentation['nodeData']['id'] = $this->getId(); $arrayRepresentation['readableRootline'] = $this->getReadableRootline(); + $arrayRepresentation['canBeRemoved'] = $this->canBeRemoved(); $arrayRepresentation['nodeData']['readableRootline'] = $this->getReadableRootline(); $arrayRepresentation['nodeData']['mountPoint'] = $this->getMountPoint(); $arrayRepresentation['nodeData']['workspaceId'] = $this->getWorkspaceId(); diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/tree.js b/typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/tree.js index abcbd0d7a63d70c7a178ee71faec833debee5712..3ec1e5dbd32cc81d1d4682d4b6a8019134387578 100644 --- a/typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/tree.js +++ b/typo3/sysext/backend/Resources/Public/JavaScript/extjs/components/pagetree/javascript/tree.js @@ -462,7 +462,7 @@ TYPO3.Components.PageTree.Tree = Ext.extend(Ext.tree.TreePanel, { */ initDd: function(treePanel, node) { var nodeHasChildNodes = (node.hasChildNodes() || node.isExpandable()); - if (this.deletionDropZoneId && + if (this.deletionDropZoneId && node.attributes.canBeRemoved && (!nodeHasChildNodes || (nodeHasChildNodes && TYPO3.Components.PageTree.Configuration.canDeleteRecursivly) )) {