Merge pull request #1687 from kinglozzer/1685-cancreate-top-level

FIX: content authors unable to duplicate top-level pages (fixes #1685)
This commit is contained in:
Daniel Hensby 2016-11-22 16:54:47 +00:00 committed by GitHub
commit 73b854ca72
2 changed files with 284 additions and 280 deletions

View File

@ -1049,7 +1049,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
}
// Fall over to inherited permissions
if($parent) {
if($parent && $parent->exists()) {
return $parent->canAddChildren($member);
} else {
// This doesn't necessarily mean we are creating a root page, but that

View File

@ -512,6 +512,10 @@ class SiteTreeTest extends SapphireTest {
$this->assertTrue(singleton('SiteTreeTest_ClassA')->canCreate(null));
$this->assertFalse(singleton('SiteTreeTest_ClassA')->canCreate(null, array('Parent' => $parentB)));
$this->assertTrue(singleton('SiteTreeTest_ClassC')->canCreate(null, array('Parent' => $parentB)));
// Test creation underneath a parent which doesn't exist in the database. This should
// fall back to checking whether the user can create pages at the root of the site
$this->assertTrue(singleton('SiteTree')->canCreate(null, array('Parent' => singleton('SiteTree'))));
}
public function testEditPermissionsOnDraftVsLive() {