From 2d82ae621732f25487deeb75b6f07e6d524d47d8 Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Tue, 19 Oct 2010 03:00:45 +0000 Subject: [PATCH] BUGFIX Enforcing canEdit() checks in ComplexTableField_Popup - making form readonly if the current user can't edit (from r110857) git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112863 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- forms/ComplexTableField.php | 2 ++ tests/forms/ComplexTableFieldTest.php | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/forms/ComplexTableField.php b/forms/ComplexTableField.php index b4dc46b4c..f1b70861f 100755 --- a/forms/ComplexTableField.php +++ b/forms/ComplexTableField.php @@ -1060,6 +1060,8 @@ class ComplexTableField_Popup extends Form { } parent::__construct($controller, $name, $fields, $actions, $validator); + + if(!$this->dataObject->canEdit()) $this->makeReadonly(); } function forTemplate() { diff --git a/tests/forms/ComplexTableFieldTest.php b/tests/forms/ComplexTableFieldTest.php index c62c5b7f6..b05d12105 100644 --- a/tests/forms/ComplexTableFieldTest.php +++ b/tests/forms/ComplexTableFieldTest.php @@ -38,6 +38,8 @@ class ComplexTableFieldTest extends FunctionalTest { } function testAddingManyManyNewPlayer() { + $this->logInWithPermission('ADMIN'); + $team = DataObject::get_one('ComplexTableFieldTest_Team', "\"Name\" = 'The Awesome People'"); $this->post('ComplexTableFieldTest_Controller/ManyManyForm/field/Players/AddForm', array( @@ -57,6 +59,8 @@ class ComplexTableFieldTest extends FunctionalTest { } function testAddingHasManyData() { + $this->logInWithPermission('ADMIN'); + $team = DataObject::get_one('ComplexTableFieldTest_Team', "\"Name\" = 'The Awesome People'"); $this->post('ComplexTableFieldTest_Controller/HasManyForm/field/Sponsors/AddForm', array(