Merge pull request #29 from open-sausages/pulls/act-as

Fix dev/build with Member::actAs()
This commit is contained in:
Damian Mooyman 2017-01-16 11:36:57 +13:00 committed by GitHub
commit c56308861c

View File

@ -11,10 +11,8 @@ use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\Form; use SilverStripe\Forms\Form;
use SilverStripe\Forms\TextField; use SilverStripe\Forms\TextField;
use SilverStripe\Control\Email\Email; use SilverStripe\Control\Email\Email;
use SilverStripe\Security\Member;
use SilverStripe\Security\Security;
/** /**
* Parent class of all test pages * Parent class of all test pages
@ -40,29 +38,31 @@ class TestPage extends Page
$class = $this->class; $class = $this->class;
if (!DataObject::get_one($class)) { if (!DataObject::get_one($class)) {
// Try to create common parent // Try to create common parent
$parent = SiteTree::get() Member::actAs(Security::findAnAdministrator(), function () use ($class) {
->filter('URLSegment', 'feature-test-pages') $parent = SiteTree::get()
->First(); ->filter('URLSegment', 'feature-test-pages')
->First();
if (!$parent) { if (!$parent) {
$parent = new Page(array( $parent = new Page(array(
'Title' => 'Feature Test Pages', 'Title' => 'Feature Test Pages',
'Content' => 'A collection of pages for testing various features in the SilverStripe CMS', 'Content' => 'A collection of pages for testing various features in the SilverStripe CMS',
'ShowInMenus' => 0 'ShowInMenus' => 0
)); ));
$parent->write(); $parent->write();
$parent->doPublish(); $parent->doPublish();
} }
// Create actual page // Create actual page
$page = new $class(); $page = new $class();
$page->Title = str_replace("SilverStripe\\FrameworkTest\\Model\\TestPage", "", $class); $page->Title = str_replace("SilverStripe\\FrameworkTest\\Model\\TestPage", "", $class);
$page->ShowInMenus = 0; $page->ShowInMenus = 0;
if ($parent) { if ($parent) {
$page->ParentID = $parent->ID; $page->ParentID = $parent->ID;
} }
$page->write(); $page->write();
$page->publish('Stage', 'Live'); $page->publish('Stage', 'Live');
});
} }
} }
} }