/** * Deletes the specified node and all of its sub nodes * * We need to call persistAll() in order to return the nextUri. We can't persist only the nodes in NodeDataRepository * because they might be connected to images / resources which need to be removed at the same time. * * @param Node $node * @return void */ public function deleteAction(Node $node) { if ($this->request->getHttpRequest()->isMethodSafe() === false) { $this->persistenceManager->persistAll(); } $q = new FlowQuery(array($node)); $node->remove(); $closestDocumentNode = $q->closest('[instanceof TYPO3.Neos:Document]')->get(0); $nextUri = $this->uriBuilder->reset()->setFormat('html')->setCreateAbsoluteUri(true)->uriFor('show', array('node' => $closestDocumentNode), 'Frontend\\Node', 'TYPO3.Neos'); $this->view->assign('value', array('data' => array('nextUri' => $nextUri), 'success' => true)); }