From 6a209ce8dfa330a0e77bb556edcc7233e63b29c4 Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Tue, 25 Aug 2009 05:52:52 +0000 Subject: [PATCH] BUGFIX #4423: Don't allow page duplication if canCreate is false. git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@85157 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- code/CMSMain.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/CMSMain.php b/code/CMSMain.php index 949b5208..d224c0f1 100644 --- a/code/CMSMain.php +++ b/code/CMSMain.php @@ -1159,7 +1159,9 @@ JS; function duplicate() { if(($id = $this->urlParams['ID']) && is_numeric($id)) { $page = DataObject::get_by_id("SiteTree", $id); - if($page && !$page->canEdit()) return Security::permissionFailure($this); + if($page && (!$page->canEdit() || !$page->canCreate())) { + return Security::permissionFailure($this); + } $newPage = $page->duplicate(); @@ -1178,7 +1180,9 @@ JS; function duplicatewithchildren() { if(($id = $this->urlParams['ID']) && is_numeric($id)) { $page = DataObject::get_by_id("SiteTree", $id); - if($page && !$page->canEdit()) return Security::permissionFailure($this); + if($page && (!$page->canEdit() || !$page->canCreate())) { + return Security::permissionFailure($this); + } $newPage = $page->duplicateWithChildren();