diff --git a/code/batchactions/CMSBatchActions.php b/code/batchactions/CMSBatchActions.php
index 68cabfb9..fc2648bb 100644
--- a/code/batchactions/CMSBatchActions.php
+++ b/code/batchactions/CMSBatchActions.php
@@ -11,7 +11,7 @@ class CMSBatchAction_Publish extends CMSBatchAction {
}
public function run(SS_List $pages) {
- return $this->batchaction($pages, 'doPublish',
+ return $this->batchaction($pages, 'publishRecursive',
_t('CMSBatchActions.PUBLISHED_PAGES', 'Published %d pages, %d failures')
);
}
diff --git a/code/controllers/CMSMain.php b/code/controllers/CMSMain.php
index f038ac5a..e7389514 100644
--- a/code/controllers/CMSMain.php
+++ b/code/controllers/CMSMain.php
@@ -909,7 +909,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
// If the 'Save & Publish' button was clicked, also publish the page
if ($doPublish) {
- $record->doPublish();
+ $record->publishRecursive();
$message = _t(
'CMSMain.PUBLISHED',
"Published '{title}' successfully.",
@@ -989,7 +989,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
return Security::permissionFailure($this);
}
- $record->doPublish();
+ $record->publishRecursive();
}
/**
@@ -1278,9 +1278,11 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
$count = 0;
while($pages) {
foreach($pages as $page) {
- if($page && !$page->canPublish()) return Security::permissionFailure($this);
+ if($page && !$page->canPublish()) {
+ return Security::permissionFailure($this);
+ }
- $page->doPublish();
+ $page->publishRecursive();
$page->destroy();
unset($page);
$count++;
diff --git a/code/model/ErrorPage.php b/code/model/ErrorPage.php
index 97b3827f..417c8ba9 100644
--- a/code/model/ErrorPage.php
+++ b/code/model/ErrorPage.php
@@ -110,7 +110,7 @@ class ErrorPage extends Page {
if(!$pageExists) {
$page = new ErrorPage($defaultData);
$page->write();
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
}
// Check if static files are enabled
@@ -227,8 +227,10 @@ class ErrorPage extends Page {
*
* @return bool True if published
*/
- public function doPublish() {
- if (!parent::doPublish()) return false;
+ public function publishSingle() {
+ if (!parent::publishSingle()) {
+ return false;
+ }
return $this->writeStaticPage();
}
diff --git a/code/model/SiteTree.php b/code/model/SiteTree.php
index b730bb65..695923a0 100755
--- a/code/model/SiteTree.php
+++ b/code/model/SiteTree.php
@@ -1104,7 +1104,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
$combinedStageResult = array();
- foreach(array('Stage', 'Live') as $stage) {
+ foreach(array(Versioned::DRAFT, Versioned::LIVE) as $stage) {
// Start by filling the array with the pages that actually exist
$table = ($stage=='Stage') ? "SiteTree" : "SiteTree_$stage";
@@ -1355,7 +1355,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
$homepage->URLSegment = Config::inst()->get('RootURLController', 'default_homepage_link');
$homepage->Sort = 1;
$homepage->write();
- $homepage->publish('Stage', 'Live');
+ $homepage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$homepage->flushCache();
DB::alteration_message('Home page created', 'created');
}
@@ -1366,7 +1366,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
$aboutus->Content = _t('SiteTree.DEFAULTABOUTCONTENT', '
You can fill this page out with your own content, or delete it and create your own pages.
');
$aboutus->Sort = 2;
$aboutus->write();
- $aboutus->publish('Stage', 'Live');
+ $aboutus->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$aboutus->flushCache();
DB::alteration_message('About Us page created', 'created');
@@ -1375,7 +1375,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
$contactus->Content = _t('SiteTree.DEFAULTCONTACTCONTENT', 'You can fill this page out with your own content, or delete it and create your own pages.
');
$contactus->Sort = 3;
$contactus->write();
- $contactus->publish('Stage', 'Live');
+ $contactus->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$contactus->flushCache();
DB::alteration_message('Contact Us page created', 'created');
}
@@ -2048,7 +2048,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @return FieldList The available actions for this page.
*/
public function getCMSActions() {
- $existsOnLive = $this->getExistsOnLive();
+ $existsOnLive = $this->isPublished();
// Major actions appear as buttons immediately visible as page actions.
$majorActions = CompositeField::create()->setName('MajorActions')->setTag('fieldset')->addExtraClass('ss-ui-buttonset noborder');
@@ -2100,7 +2100,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
);
}
- if($this->stagesDiffer('Stage', 'Live') && !$this->getIsDeletedFromStage()) {
+ if($this->stagesDiffer(Versioned::DRAFT, Versioned::LIVE) && !$this->getIsDeletedFromStage()) {
if($this->isPublished() && $this->canEdit()) {
// "rollback"
$moreOptions->push(
@@ -2181,7 +2181,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
);
// Set up the initial state of the button to reflect the state of the underlying SiteTree object.
- if($this->stagesDiffer('Stage', 'Live')) {
+ if($this->stagesDiffer(Versioned::DRAFT, Versioned::LIVE)) {
$publish->addExtraClass('ss-ui-alternate');
}
}
@@ -2442,7 +2442,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
if(!$this->_cache_statusFlags || !$cached) {
$flags = array();
if($this->getIsDeletedFromStage()) {
- if($this->getExistsOnLive()) {
+ if($this->isPublished()) {
$flags['removedfromdraft'] = array(
'text' => _t('SiteTree.REMOVEDFROMDRAFTSHORT', 'Removed from draft'),
'title' => _t('SiteTree.REMOVEDFROMDRAFTHELP', 'Page is published, but has been deleted from draft'),
@@ -2587,7 +2587,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
if(!$this->ID) return true;
if($this->isNew()) return false;
- $stageVersion = Versioned::get_versionnumber_by_stage('SiteTree', 'Stage', $this->ID);
+ $stageVersion = Versioned::get_versionnumber_by_stage('SiteTree', Versioned::DRAFT, $this->ID);
// Return true for both completely deleted pages and for pages just deleted from stage
return !($stageVersion);
@@ -2599,7 +2599,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* @return bool
*/
public function getExistsOnLive() {
- return (bool)Versioned::get_versionnumber_by_stage('SiteTree', 'Live', $this->ID);
+ return $this->isPublished();
}
/**
diff --git a/code/model/SiteTreeExtension.php b/code/model/SiteTreeExtension.php
index 643d7f78..3fc7d26a 100644
--- a/code/model/SiteTreeExtension.php
+++ b/code/model/SiteTreeExtension.php
@@ -9,7 +9,7 @@
abstract class SiteTreeExtension extends DataExtension {
/**
- * Hook called before the page's {@link SiteTree::doPublish()} action is completed
+ * Hook called before the page's {@link Versioned::publishSingle()} action is completed
*
* @param SiteTree &$original The current Live SiteTree record prior to publish
*/
@@ -17,7 +17,7 @@ abstract class SiteTreeExtension extends DataExtension {
}
/**
- * Hook called after the page's {@link SiteTree::doPublish()} action is completed
+ * Hook called after the page's {@link Versioned::publishSingle()} action is completed
*
* @param SiteTree &$original The current Live SiteTree record prior to publish
*/
@@ -25,7 +25,7 @@ abstract class SiteTreeExtension extends DataExtension {
}
/**
- * Hook called before the page's {@link SiteTree::doUnpublish()} action is completed
+ * Hook called before the page's {@link Versioned::doUnpublish()} action is completed
*/
public function onBeforeUnpublish() {
}
diff --git a/tasks/RemoveOrphanedPagesTask.php b/tasks/RemoveOrphanedPagesTask.php
index 515cb646..04b93eef 100644
--- a/tasks/RemoveOrphanedPagesTask.php
+++ b/tasks/RemoveOrphanedPagesTask.php
@@ -317,7 +317,7 @@ in the other stage:
$where[] = '"Parents"."ID" IS NULL';
$orphans = new ArrayList();
- foreach(array('Stage', 'Live') as $stage) {
+ foreach(array(Versioned::DRAFT, Versioned::LIVE) as $stage) {
$joinByStage = $join;
$table = $class;
$table .= ($stage == 'Live') ? '_Live' : '';
diff --git a/tests/behat/features/bootstrap/FeatureContext.php b/tests/behat/features/bootstrap/FeatureContext.php
index 04a1804a..d60e6935 100644
--- a/tests/behat/features/bootstrap/FeatureContext.php
+++ b/tests/behat/features/bootstrap/FeatureContext.php
@@ -40,7 +40,8 @@ class FeatureContext extends \SilverStripe\Framework\Test\Behaviour\FeatureConte
foreach(\ClassInfo::subclassesFor('SiteTree') as $id => $class) {
$blueprint = \Injector::inst()->create('FixtureBlueprint', $class);
$blueprint->addCallback('afterCreate', function($obj, $identifier, &$data, &$fixtures) {
- $obj->publish('Stage', 'Live');
+ /** @var \SiteTree $obj */
+ $obj->copyVersionToStage(\Versioned::DRAFT, \Versioned::LIVE);
});
$factory->define($class, $blueprint);
}
diff --git a/tests/behat/features/bootstrap/SilverStripe/Cms/Test/Behaviour/FixtureContext.php b/tests/behat/features/bootstrap/SilverStripe/Cms/Test/Behaviour/FixtureContext.php
index 1d713bd0..d10d9ddf 100644
--- a/tests/behat/features/bootstrap/SilverStripe/Cms/Test/Behaviour/FixtureContext.php
+++ b/tests/behat/features/bootstrap/SilverStripe/Cms/Test/Behaviour/FixtureContext.php
@@ -31,6 +31,7 @@ class FixtureContext extends \SilverStripe\BehatExtension\Context\FixtureContext
if (!$targetObj) $targetObj = $this->fixtureFactory->get($targetClass, $targetId);
$fields = array('LinkToID' => $targetObj->ID);
+ /** @var \RedirectorPage $obj */
$obj = $this->fixtureFactory->get($class, $id);
if ($obj) {
$obj->update($fields);
@@ -38,7 +39,7 @@ class FixtureContext extends \SilverStripe\BehatExtension\Context\FixtureContext
$obj = $this->fixtureFactory->createObject($class, $id, $fields);
}
$obj->write();
- $obj->publish('Stage', 'Live');
+ $obj->copyVersionToStage(\Versioned::DRAFT, \Versioned::LIVE);
}
/**
diff --git a/tests/controller/AssetAdminTest.php b/tests/controller/AssetAdminTest.php
index 0eca811e..29bf6948 100644
--- a/tests/controller/AssetAdminTest.php
+++ b/tests/controller/AssetAdminTest.php
@@ -17,7 +17,7 @@ class AssetAdminTest extends SapphireTest {
// Create a test folders for each of the fixture references
foreach(File::get()->filter('ClassName', 'Folder') as $folder) {
/** @var Folder $folder */
- $folder->doPublish();
+ $folder->publishSingle();
}
// Create a test files for each of the fixture references
@@ -25,7 +25,7 @@ class AssetAdminTest extends SapphireTest {
foreach(File::get()->exclude('ClassName', 'Folder') as $file) {
/** @var File $file */
$file->setFromString($content, $file->generateFilename());
- $file->doPublish();
+ $file->publishSingle();
}
}
diff --git a/tests/controller/CMSBatchActionsTest.php b/tests/controller/CMSBatchActionsTest.php
index 0908ed1b..84019111 100644
--- a/tests/controller/CMSBatchActionsTest.php
+++ b/tests/controller/CMSBatchActionsTest.php
@@ -15,7 +15,7 @@ class CMSBatchActionsTest extends SapphireTest {
// published page
$published = $this->objFromFixture('SiteTree', 'published');
- $published->doPublish();
+ $published->publishSingle();
// Deleted / archived page
$archived = $this->objFromFixture('SiteTree', 'archived');
@@ -23,12 +23,12 @@ class CMSBatchActionsTest extends SapphireTest {
// Unpublished
$unpublished = $this->objFromFixture('SiteTree', 'unpublished');
- $unpublished->doPublish();
+ $unpublished->publishSingle();
$unpublished->doUnpublish();
// Modified
$modified = $this->objFromFixture('SiteTree', 'modified');
- $modified->doPublish();
+ $modified->publishSingle();
$modified->Title = 'modified2';
$modified->write();
}
diff --git a/tests/controller/CMSMainTest.php b/tests/controller/CMSMainTest.php
index a8e77730..0457fd98 100644
--- a/tests/controller/CMSMainTest.php
+++ b/tests/controller/CMSMainTest.php
@@ -156,7 +156,7 @@ class CMSMainTest extends FunctionalTest {
// $page->write();
// $this->assertEquals("Test $class page", DB::query("SELECT \"Title\" FROM \"SiteTree\" WHERE \"ID\" = $page->ID")->value());
- // $page->doPublish();
+ // $page->publishRecursive();
// $this->assertEquals("Test $class page", DB::query("SELECT \"Title\" FROM \"SiteTree_Live\" WHERE \"ID\" = $page->ID")->value());
// // Check that you can visit the page
@@ -214,7 +214,7 @@ class CMSMainTest extends FunctionalTest {
// Set up a page that is delete from live
$page = $this->objFromFixture('Page', 'page1');
$pageID = $page->ID;
- $page->doPublish();
+ $page->publishRecursive();
$page->delete();
$response = $this->get('admin/pages/edit/show/' . $pageID);
@@ -236,7 +236,7 @@ class CMSMainTest extends FunctionalTest {
// Set up a page that is delete from live
$page1 = $this->objFromFixture('Page', 'page1');
$page1ID = $page1->ID;
- $page1->doPublish();
+ $page1->publishRecursive();
$page1->delete();
$cmsMain = new CMSMain();
@@ -448,9 +448,9 @@ class CMSMainTest extends FunctionalTest {
$page1->doUnpublish();
$page1->delete();
// Live and draft
- $page11->publish('Stage', 'Live');
+ $page11->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
// Live only
- $page12->publish('Stage', 'Live');
+ $page12->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page12->delete();
// Re-test all pages (stage)
diff --git a/tests/controller/CMSPageHistoryControllerTest.php b/tests/controller/CMSPageHistoryControllerTest.php
index f49ecfa2..5eb4cfbc 100755
--- a/tests/controller/CMSPageHistoryControllerTest.php
+++ b/tests/controller/CMSPageHistoryControllerTest.php
@@ -26,7 +26,7 @@ class CMSPageHistoryControllerTest extends FunctionalTest {
$this->page->Content = "some further content";
$this->page->write();
- $this->page->publish('Stage', 'Live');
+ $this->page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$this->versionPublishCheck = $this->page->Version;
$this->page->Content = "No, more changes please";
@@ -36,7 +36,7 @@ class CMSPageHistoryControllerTest extends FunctionalTest {
$this->page->Title = "Final Change";
$this->page->write();
- $this->page->publish('Stage', 'Live');
+ $this->page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$this->versionPublishCheck2 = $this->page->Version;
}
diff --git a/tests/controller/CMSSiteTreeFilterTest.php b/tests/controller/CMSSiteTreeFilterTest.php
index 9fdaca37..3fb395b5 100644
--- a/tests/controller/CMSSiteTreeFilterTest.php
+++ b/tests/controller/CMSSiteTreeFilterTest.php
@@ -48,11 +48,11 @@ class CMSSiteTreeFilterTest extends SapphireTest {
public function testChangedPagesFilter() {
$unchangedPage = $this->objFromFixture('Page', 'page1');
- $unchangedPage->doPublish();
+ $unchangedPage->publishRecursive();
$changedPage = $this->objFromFixture('Page', 'page2');
$changedPage->Title = 'Original';
- $changedPage->publish('Stage', 'Live');
+ $changedPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$changedPage->Title = 'Changed';
$changedPage->write();
@@ -75,7 +75,7 @@ class CMSSiteTreeFilterTest extends SapphireTest {
// If we roll back to an earlier version than what's on the published site, we should still show the changed
$changedPage->Title = 'Changed 2';
- $changedPage->publish('Stage', 'Live');
+ $changedPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$changedPage->doRollbackTo(1);
$f = new CMSSiteTreeFilter_ChangedPages(array('Term' => 'Changed'));
@@ -87,7 +87,7 @@ class CMSSiteTreeFilterTest extends SapphireTest {
public function testDeletedPagesFilter() {
$deletedPage = $this->objFromFixture('Page', 'page2');
- $deletedPage->publish('Stage', 'Live');
+ $deletedPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$deletedPageID = $deletedPage->ID;
$deletedPage->delete();
$deletedPage = Versioned::get_one_by_stage(
@@ -106,7 +106,6 @@ class CMSSiteTreeFilterTest extends SapphireTest {
public function testStatusDraftPagesFilter() {
$draftPage = $this->objFromFixture('Page', 'page4');
- $draftPage->publish('Stage', 'Stage');
$draftPage = Versioned::get_one_by_stage(
'SiteTree',
'Stage',
@@ -141,7 +140,7 @@ class CMSSiteTreeFilterTest extends SapphireTest {
public function testStatusRemovedFromDraftFilter() {
$removedDraftPage = $this->objFromFixture('Page', 'page6');
- $removedDraftPage->doPublish();
+ $removedDraftPage->publishRecursive();
$removedDraftPage->deleteFromStage('Stage');
$removedDraftPage = Versioned::get_one_by_stage(
'SiteTree',
@@ -165,7 +164,7 @@ class CMSSiteTreeFilterTest extends SapphireTest {
public function testStatusDeletedFilter() {
$deletedPage = $this->objFromFixture('Page', 'page7');
- $deletedPage->publish('Stage', 'Live');
+ $deletedPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$deletedPageID = $deletedPage->ID;
// Can't use straight $blah->delete() as that blows it away completely and test fails
diff --git a/tests/controller/ContentControllerPermissionsTest.php b/tests/controller/ContentControllerPermissionsTest.php
index 8b31e452..f60eba1b 100644
--- a/tests/controller/ContentControllerPermissionsTest.php
+++ b/tests/controller/ContentControllerPermissionsTest.php
@@ -14,7 +14,7 @@ class ContentControllerPermissionsTest extends FunctionalTest {
$page = new Page();
$page->URLSegment = 'testpage';
$page->write();
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
// Add a stage-only version
$page->Content = "Version2";
diff --git a/tests/controller/ContentControllerSearchExtensionTest.php b/tests/controller/ContentControllerSearchExtensionTest.php
index 1d04bc1b..0d796532 100644
--- a/tests/controller/ContentControllerSearchExtensionTest.php
+++ b/tests/controller/ContentControllerSearchExtensionTest.php
@@ -6,7 +6,7 @@ class ContentControllerSearchExtensionTest extends SapphireTest {
$page->URLSegment = 'whatever';
$page->Content = 'oh really?';
$page->write();
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$controller = new ContentController($page);
$form = $controller->SearchForm();
diff --git a/tests/controller/ContentControllerTest.php b/tests/controller/ContentControllerTest.php
index ce2c4a21..0def5a3c 100755
--- a/tests/controller/ContentControllerTest.php
+++ b/tests/controller/ContentControllerTest.php
@@ -116,13 +116,13 @@ class ContentControllerTest extends FunctionalTest {
$linkedPage = new SiteTree();
$linkedPage->URLSegment = 'linked-page';
$linkedPage->write();
- $linkedPage->publish('Stage', 'Live');
+ $linkedPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page = new SiteTree();
$page->URLSegment = 'linking-page';
$page->Content = sprintf('Testlink', $linkedPage->ID);
$page->write();
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$this->assertContains(
sprintf('Testlink', $linkedPage->Link()),
@@ -146,7 +146,7 @@ class ContentControllerTest extends FunctionalTest {
$page = new ContentControllerTestPageWithoutController();
$page->URLSegment = "test";
$page->write();
- $page->publish("Stage", "Live");
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$response = $self->get($page->RelativeLink());
$self->assertEquals("ContentControllerTestPageWithoutController", trim($response->getBody()));
@@ -155,7 +155,7 @@ class ContentControllerTest extends FunctionalTest {
$page = new ContentControllerTestPage();
$page->URLSegment = "test";
$page->write();
- $page->publish("Stage", "Live");
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$response = $self->get($page->RelativeLink());
$self->assertEquals("Page", trim($response->getBody()));
@@ -165,7 +165,7 @@ class ContentControllerTest extends FunctionalTest {
$page = new ContentControllerTestPage();
$page->URLSegment = "page-without-controller";
$page->write();
- $page->publish("Stage", "Live");
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$response = $self->get($page->RelativeLink("test"));
$self->assertEquals("ContentControllerTestPage_test", trim($response->getBody()));
diff --git a/tests/controller/ModelAsControllerTest.php b/tests/controller/ModelAsControllerTest.php
index 66728dc0..db9c0a60 100644
--- a/tests/controller/ModelAsControllerTest.php
+++ b/tests/controller/ModelAsControllerTest.php
@@ -46,33 +46,33 @@ class ModelAsControllerTest extends FunctionalTest {
$level1->Title = 'First Level';
$level1->URLSegment = 'level1';
$level1->write();
- $level1->publish('Stage', 'Live');
+ $level1->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$level1->URLSegment = 'newlevel1';
$level1->write();
- $level1->publish('Stage', 'Live');
+ $level1->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$level2 = new Page();
$level2->Title = 'Second Level';
$level2->URLSegment = 'level2';
$level2->ParentID = $level1->ID;
$level2->write();
- $level2->publish('Stage', 'Live');
+ $level2->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$level2->URLSegment = 'newlevel2';
$level2->write();
- $level2->publish('Stage', 'Live');
+ $level2->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$level3 = New Page();
$level3->Title = "Level 3";
$level3->URLSegment = 'level3';
$level3->ParentID = $level2->ID;
$level3->write();
- $level3->publish('Stage','Live');
+ $level3->copyVersionToStage('Stage','Live');
$level3->URLSegment = 'newlevel3';
$level3->write();
- $level3->publish('Stage','Live');
+ $level3->copyVersionToStage('Stage','Live');
}
/**
@@ -125,39 +125,39 @@ class ModelAsControllerTest extends FunctionalTest {
$page->Title = 'First Level';
$page->URLSegment = 'oldurl';
$page->write();
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page->URLSegment = 'newurl';
$page->write();
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page2 = new Page();
$page2->Title = 'Second Level Page';
$page2->URLSegment = 'level2';
$page2->ParentID = $page->ID;
$page2->write();
- $page2->publish('Stage', 'Live');
+ $page2->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page3 = new Page();
$page3->Title = 'Third Level Page';
$page3->URLSegment = 'level3';
$page3->ParentID = $page2->ID;
$page3->write();
- $page3->publish('Stage', 'Live');
+ $page3->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page4 = new Page();
$page4->Title = 'Fourth Level Page';
$page4->URLSegment = 'level4';
$page4->ParentID = $page3->ID;
$page4->write();
- $page4->publish('Stage', 'Live');
+ $page4->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page5 = new Page();
$page5->Title = 'Fifth Level Page';
$page5->URLSegment = 'level5';
$page5->ParentID = $page4->ID;
$page5->write();
- $page5->publish('Stage', 'Live');
+ $page5->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
// Test that the redirect still works fine when trying to access the most nested page
$response = $this->get('oldurl/level2/level3/level4/level5/');
@@ -192,7 +192,7 @@ class ModelAsControllerTest extends FunctionalTest {
'URLSegment' => 'otherparent'
));
$otherParent->write();
- $otherParent->publish('Stage', 'Live');
+ $otherParent->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$response = $this->get('level1/otherparent');
$this->assertEquals($response->getStatusCode(), 301);
@@ -235,7 +235,7 @@ class ModelAsControllerTest extends FunctionalTest {
'URLSegment' => 'level1'
));
$otherLevel1->write();
- $otherLevel1->publish('Stage', 'Live');
+ $otherLevel1->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$response = $this->get('level1');
$this->assertEquals(
@@ -261,11 +261,11 @@ class ModelAsControllerTest extends FunctionalTest {
$page->Title = 'First Level';
$page->URLSegment = 'oldurl';
$page->write();
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page->URLSegment = 'newurl';
$page->write();
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$url = OldPageRedirector::find_old_page('oldurl');
$matchedPage = SiteTree::get_by_link($url);
@@ -276,11 +276,11 @@ class ModelAsControllerTest extends FunctionalTest {
$page2->URLSegment = 'oldpage2';
$page2->ParentID = $page->ID;
$page2->write();
- $page2->publish('Stage', 'Live');
+ $page2->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page2->URLSegment = 'newpage2';
$page2->write();
- $page2->publish('Stage', 'Live');
+ $page2->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$url = OldPageRedirector::find_old_page('oldpage2',$page2->ParentID);
$matchedPage = SiteTree::get_by_link($url);
@@ -309,7 +309,7 @@ class ModelAsControllerTest extends FunctionalTest {
$published->Title = 'Published Page Under Draft Page';
$published->URLSegment = 'sub-root';
$published->write();
- $published->publish('Stage', 'Live');
+ $published->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$response = $this->get('root/sub-root');
$this->assertEquals(
diff --git a/tests/model/ErrorPageFileExtensionTest.php b/tests/model/ErrorPageFileExtensionTest.php
index 8d77fedb..2f32c6a4 100644
--- a/tests/model/ErrorPageFileExtensionTest.php
+++ b/tests/model/ErrorPageFileExtensionTest.php
@@ -25,11 +25,11 @@ class ErrorPageFileExtensionTest extends SapphireTest {
public function testErrorPage() {
// Get and publish records
$notFoundPage = $this->objFromFixture('ErrorPage', '404');
- $notFoundPage->publish('Stage', 'Live');
+ $notFoundPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$notFoundLink = $notFoundPage->Link();
$disallowedPage = $this->objFromFixture('ErrorPage', '403');
- $disallowedPage->publish('Stage', 'Live');
+ $disallowedPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$disallowedLink = $disallowedPage->Link();
// Get stage version of file
diff --git a/tests/model/ErrorPageTest.php b/tests/model/ErrorPageTest.php
index 0dbb8715..ae6811c3 100644
--- a/tests/model/ErrorPageTest.php
+++ b/tests/model/ErrorPageTest.php
@@ -31,7 +31,7 @@ class ErrorPageTest extends FunctionalTest {
public function test404ErrorPage() {
$page = $this->objFromFixture('ErrorPage', '404');
// ensure that the errorpage exists as a physical file
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$response = $this->get('nonexistent-page');
@@ -57,7 +57,7 @@ class ErrorPageTest extends FunctionalTest {
public function testBehaviourOf403() {
$page = $this->objFromFixture('ErrorPage', '403');
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$response = $this->get($page->RelativeLink());
@@ -68,7 +68,7 @@ class ErrorPageTest extends FunctionalTest {
public function testSecurityError() {
// Generate 404 page
$page = $this->objFromFixture('ErrorPage', '404');
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
// Test invalid action
$response = $this->get('Security/nosuchaction');
@@ -88,8 +88,8 @@ class ErrorPageTest extends FunctionalTest {
$page->ErrorCode = 401;
$page->Title = 'Unauthorised';
$page->write();
- $page->publish('Stage', 'Live');
- $page->doPublish();
+ $page->copyVersionToStage('Stage', 'Live');
+ $page->publishRecursive();
// Static cache should now exist
$this->assertNotEmpty(ErrorPage::get_content_for_errorcode('401'));
@@ -108,7 +108,7 @@ class ErrorPageTest extends FunctionalTest {
$page->ErrorCode = 405;
$page->Title = 'Method Not Allowed';
$page->write();
- $page->doPublish();
+ $page->publishRecursive();
// Dynamic content is available
$response = ErrorPage::response_for('405');
diff --git a/tests/model/FileLinkTrackingTest.php b/tests/model/FileLinkTrackingTest.php
index 11915ace..4bde878d 100644
--- a/tests/model/FileLinkTrackingTest.php
+++ b/tests/model/FileLinkTrackingTest.php
@@ -21,7 +21,7 @@ class FileLinkTrackingTest extends SapphireTest {
Filesystem::makeFolder(dirname($destPath));
file_put_contents($destPath, str_repeat('x', 1000000));
// Ensure files are published, thus have public urls
- $file->doPublish();
+ $file->publishRecursive();
}
// Since we can't hard-code IDs, manually inject image tracking shortcode
@@ -46,7 +46,7 @@ class FileLinkTrackingTest extends SapphireTest {
*/
public function testFileRenameUpdatesDraftAndPublishedPages() {
$page = $this->objFromFixture('Page', 'page1');
- $page->doPublish();
+ $page->publishRecursive();
// Live and stage pages both have link to public file
Versioned::set_stage(Versioned::DRAFT);
@@ -82,7 +82,7 @@ class FileLinkTrackingTest extends SapphireTest {
// Publishing the file should result in a direct public link (indicated by "FileLinkTrackingTest")
// Although the old live page will still point to the old record.
// @todo - Ensure shortcodes are used with all images to prevent live records having broken links
- $file->doPublish();
+ $file->publishRecursive();
Versioned::set_stage(Versioned::DRAFT);
$this->assertContains(
'doPublish();
+ $page->publishRecursive();
Versioned::set_stage(Versioned::DRAFT);
$this->assertContains(
'objFromFixture('Page', 'page1');
- $this->assertTrue($page->doPublish());
+ $this->assertTrue($page->publishRecursive());
// Create a virtual page from it, and publish that
$svp = new VirtualPage();
$svp->CopyContentFromID = $page->ID;
$svp->write();
- $svp->doPublish();
+ $svp->publishRecursive();
// Rename the file
$file = $this->objFromFixture('Image', 'file1');
@@ -132,8 +132,8 @@ class FileLinkTrackingTest extends SapphireTest {
);
// Publishing both file and page will update the live record
- $file->doPublish();
- $page->doPublish();
+ $file->publishRecursive();
+ $page->publishRecursive();
Versioned::set_stage(Versioned::LIVE);
$this->assertContains(
@@ -145,7 +145,7 @@ class FileLinkTrackingTest extends SapphireTest {
public function testLinkRewritingOnAPublishedPageDoesntMakeItEditedOnDraft() {
// Publish the source page
$page = $this->objFromFixture('Page', 'page1');
- $this->assertTrue($page->doPublish());
+ $this->assertTrue($page->publishRecursive());
$this->assertFalse($page->getIsModifiedOnStage());
// Rename the file
@@ -163,7 +163,7 @@ class FileLinkTrackingTest extends SapphireTest {
public function testTwoFileRenamesInARowWork() {
$page = $this->objFromFixture('Page', 'page1');
- $this->assertTrue($page->doPublish());
+ $this->assertTrue($page->publishRecursive());
Versioned::set_stage(Versioned::LIVE);
$this->assertContains(
@@ -182,7 +182,7 @@ class FileLinkTrackingTest extends SapphireTest {
$file = DataObject::get_by_id('File', $file->ID);
$file->Name = 'renamed-test-file-second-time.jpg';
$file->write();
- $file->doPublish();
+ $file->publishRecursive();
// Confirm that the correct image is shown in both the draft and live site
Versioned::set_stage(Versioned::DRAFT);
@@ -192,7 +192,7 @@ class FileLinkTrackingTest extends SapphireTest {
);
// Publishing this record also updates live record
- $page->doPublish();
+ $page->publishRecursive();
Versioned::set_stage(Versioned::LIVE);
$this->assertContains(
'CanEditType = 'LoggedInUsers';
$page->write();
- $page->doPublish();
+ $page->publishRecursive();
$actions = $page->getCMSActions();
@@ -47,7 +47,7 @@ class SiteTreeActionsTest extends FunctionalTest {
$page->CanEditType = 'LoggedInUsers';
$page->write();
$pageID = $page->ID;
- $page->doPublish();
+ $page->publishRecursive();
$page->deleteFromStage('Stage');
// Get the live version of the page
@@ -76,7 +76,7 @@ class SiteTreeActionsTest extends FunctionalTest {
$page = new Page();
$page->CanEditType = 'LoggedInUsers';
$page->write();
- $page->doPublish();
+ $page->publishRecursive();
$actions = $page->getCMSActions();
@@ -99,7 +99,7 @@ class SiteTreeActionsTest extends FunctionalTest {
$page->CanEditType = 'LoggedInUsers';
$page->write();
$pageID = $page->ID;
- $page->doPublish();
+ $page->publishRecursive();
$page->deleteFromStage('Stage');
// Get the live version of the page
@@ -126,7 +126,7 @@ class SiteTreeActionsTest extends FunctionalTest {
$page = new Page();
$page->CanEditType = 'LoggedInUsers';
$page->write();
- $page->doPublish();
+ $page->publishRecursive();
$page->Content = 'Changed on Stage';
$page->write();
$page->flushCache();
diff --git a/tests/model/SiteTreeBacklinksTest.php b/tests/model/SiteTreeBacklinksTest.php
index 79d76811..d3d67238 100644
--- a/tests/model/SiteTreeBacklinksTest.php
+++ b/tests/model/SiteTreeBacklinksTest.php
@@ -86,8 +86,8 @@ class SiteTreeBacklinksTest extends SapphireTest {
// publish page 1 & 3
$page1 = $this->objFromFixture('Page', 'page1');
$page3 = $this->objFromFixture('Page', 'page3');
- $this->assertTrue($page1->doPublish());
- $this->assertTrue($page3->doPublish());
+ $this->assertTrue($page1->publishRecursive());
+ $this->assertTrue($page3->publishRecursive());
// load pages from live
$page1live = Versioned::get_one_by_stage('Page', 'Live', '"SiteTree"."ID" = ' . $page1->ID);
@@ -120,8 +120,8 @@ class SiteTreeBacklinksTest extends SapphireTest {
$page1 = $this->objFromFixture('Page', 'page1');
$page3 = $this->objFromFixture('Page', 'page3');
- $this->assertTrue($page1->doPublish());
- $this->assertTrue($page3->doPublish());
+ $this->assertTrue($page1->publishRecursive());
+ $this->assertTrue($page3->publishRecursive());
// load page 3 from live
$page3live = Versioned::get_one_by_stage('Page', 'Live', '"SiteTree"."ID" = ' . $page3->ID);
@@ -142,7 +142,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
// publish page 1
- $this->assertTrue($page1->doPublish());
+ $this->assertTrue($page1->publishRecursive());
// assert hyperlink to page 1's new published url exists
$page3live = Versioned::get_one_by_stage('Page', 'Live', '"SiteTree"."ID" = ' . $page3->ID);
@@ -156,8 +156,8 @@ class SiteTreeBacklinksTest extends SapphireTest {
// publish page 1 & 3
$page1 = $this->objFromFixture('Page', 'page1');
$page3 = $this->objFromFixture('Page', 'page3');
- $this->assertTrue($page1->doPublish());
- $this->assertTrue($page3->doPublish());
+ $this->assertTrue($page1->publishRecursive());
+ $this->assertTrue($page3->publishRecursive());
// assert hyperlink to page 1's current url exists
$links = HTTP::getLinksIn($page3->obj('Content')->forTemplate());
@@ -175,7 +175,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
$this->assertContains(Director::baseURL().'new-url-segment/', $links, 'Assert hyperlink to page 1\'s current draft url exists on page 3');
// publish page 3
- $this->assertTrue($page3->doPublish());
+ $this->assertTrue($page3->publishRecursive());
// assert page 3 on published site contains old page 1 url
$page3live = Versioned::get_one_by_stage('Page', 'Live', '"SiteTree"."ID" = ' . $page3->ID);
@@ -184,7 +184,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
$this->assertContains(Director::baseURL().'page1/', $links, 'Assert hyperlink to page 1\'s current published url exists on page 3');
// publish page 1
- $this->assertTrue($page1->doPublish());
+ $this->assertTrue($page1->publishRecursive());
// assert page 3 on published site contains new page 1 url
$page3live = Versioned::get_one_by_stage('Page', 'Live', '"SiteTree"."ID" = ' . $page3->ID);
@@ -195,8 +195,8 @@ class SiteTreeBacklinksTest extends SapphireTest {
public function testLinkTrackingOnExtraContentFields() {
$page1 = $this->objFromFixture('Page', 'page1');
$page2 = $this->objFromFixture('Page', 'page2');
- $page1->doPublish();
- $page2->doPublish();
+ $page1->publishRecursive();
+ $page2->publishRecursive();
// assert backlink to page 2 doesn't exist
$this->assertNotContains($page2->ID, $page1->BackLinkTracking()->column('ID'), 'Assert backlink to page 2 doesn\'t exist');
@@ -204,7 +204,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
// add hyperlink to page 1 on page 2
$page2->ExtraContent .= 'Testing page 1 link
';
$page2->write();
- $page2->doPublish();
+ $page2->publishRecursive();
// assert backlink to page 2 exists
$this->assertContains($page2->ID, $page1->BackLinkTracking()->column('ID'), 'Assert backlink to page 2 exists');
@@ -227,7 +227,7 @@ class SiteTreeBacklinksTest extends SapphireTest {
$this->assertEquals('Testing page 1 link
', $page2Live->obj('ExtraContent')->forTemplate());
// publish page1 and confirm that the link on the published page2 has now been updated
- $page1->doPublish();
+ $page1->publishRecursive();
$page2Live = Versioned::get_one_by_stage("Page", "Live", "\"SiteTree\".\"ID\" = $page2->ID");
$this->assertEquals('Testing page 1 link
', $page2Live->obj('ExtraContent')->forTemplate());
diff --git a/tests/model/SiteTreeBrokenLinksTest.php b/tests/model/SiteTreeBrokenLinksTest.php
index 02693033..0b5e1c7b 100644
--- a/tests/model/SiteTreeBrokenLinksTest.php
+++ b/tests/model/SiteTreeBrokenLinksTest.php
@@ -86,7 +86,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$file->ID
);
$obj->write();
- $this->assertTrue($obj->doPublish());
+ $this->assertTrue($obj->publishRecursive());
// Confirm that it isn't marked as broken to begin with
$obj->flushCache();
$obj = DataObject::get_by_id("SiteTree", $obj->ID);
@@ -104,7 +104,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$this->assertEquals(1, $obj->HasBrokenFile);
// Publishing this page marks it as broken on live too
- $obj->doPublish();
+ $obj->publishRecursive();
$liveObj = Versioned::get_one_by_stage("SiteTree", "Live", "\"SiteTree\".\"ID\" = $obj->ID");
$this->assertEquals(1, $liveObj->HasBrokenFile);
}
@@ -146,7 +146,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$linkSrc->write();
// Publish the source of the link, while the dest is still unpublished.
- $linkSrc->doPublish();
+ $linkSrc->publishRecursive();
// Verify that the link isn't broken on draft but is broken on published
$this->assertEquals(0, (int)$linkSrc->HasBrokenLink);
@@ -161,14 +161,14 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$p->Title = "source";
$p->write();
$pageID = $p->ID;
- $this->assertTrue($p->doPublish());
+ $this->assertTrue($p->publishRecursive());
// Content links are one kind of link to pages
$p2 = new Page();
$p2->Title = "regular link";
$p2->Content = "ID]\">test";
$p2->write();
- $this->assertTrue($p2->doPublish());
+ $this->assertTrue($p2->publishRecursive());
// Virtual pages are another
$vp = new VirtualPage();
@@ -181,7 +181,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$rp->LinkType = 'Internal';
$rp->LinkToID = $p->ID;
$rp->write();
- $this->assertTrue($rp->doPublish());
+ $this->assertTrue($rp->publishRecursive());
// Confirm that there are no broken links to begin with
$this->assertFalse($p2->HasBrokenLink);
@@ -222,7 +222,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$this->assertFalse((bool)$rp->HasBrokenLink);
// Publish and confirm that the p2 and RP broken links are fixed on published
- $this->assertTrue($p->doPublish());
+ $this->assertTrue($p->publishRecursive());
$p2Live = Versioned::get_one_by_stage('SiteTree', 'Live', '"SiteTree"."ID" = ' . $p2->ID);
$rpLive = Versioned::get_one_by_stage('SiteTree', 'Live', '"SiteTree"."ID" = ' . $rp->ID);
$this->assertFalse((bool)$p2Live->HasBrokenLink);
@@ -236,14 +236,14 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$p->Title = "source";
$p->write();
$pageID = $p->ID;
- $this->assertTrue($p->doPublish());
+ $this->assertTrue($p->publishRecursive());
// Content links are one kind of link to pages
$p2 = new Page();
$p2->Title = "regular link";
$p2->Content = "ID]\">test";
$p2->write();
- $this->assertTrue($p2->doPublish());
+ $this->assertTrue($p2->publishRecursive());
// Virtual pages are another
$vp = new VirtualPage();
@@ -256,7 +256,7 @@ class SiteTreeBrokenLinksTest extends SapphireTest {
$rp->LinkType = 'Internal';
$rp->LinkToID = $p->ID;
$rp->write();
- $this->assertTrue($rp->doPublish());
+ $this->assertTrue($rp->publishRecursive());
// Confirm that there are no broken links to begin with
$this->assertFalse($p2->HasBrokenLink);
diff --git a/tests/model/SiteTreePermissionsTest.php b/tests/model/SiteTreePermissionsTest.php
index 96fc9254..9b63be28 100644
--- a/tests/model/SiteTreePermissionsTest.php
+++ b/tests/model/SiteTreePermissionsTest.php
@@ -68,7 +68,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->logInWithPermission("ADMIN");
$page = $this->objFromFixture('Page','restrictedEditOnlySubadminGroup');
$pageID = $page->ID;
- $this->assertTrue($page->doPublish());
+ $this->assertTrue($page->publishRecursive());
$page->delete();
// Re-fetch the page from the live site
@@ -134,7 +134,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
// Get page & make sure it exists on Live
$page = $this->objFromFixture('Page', 'standardpage');
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
// Then make sure there's a new version on Stage
$page->Title = 1;
@@ -382,7 +382,7 @@ class SiteTreePermissionsTest extends FunctionalTest {
$this->logInWithPermission("ADMIN");
- $page->doPublish();
+ $page->publishRecursive();
$page->deleteFromStage('Stage');
// Get the live version of the page
diff --git a/tests/model/SiteTreeTest.php b/tests/model/SiteTreeTest.php
index 67839fc8..5fec6485 100644
--- a/tests/model/SiteTreeTest.php
+++ b/tests/model/SiteTreeTest.php
@@ -82,7 +82,7 @@ class SiteTreeTest extends SapphireTest {
*/
public function testPublishCopiesToLiveTable() {
$obj = $this->objFromFixture('Page','about');
- $obj->publish('Stage', 'Live');
+ $obj->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$createdID = DB::query("SELECT \"ID\" FROM \"SiteTree_Live\" WHERE \"URLSegment\" = '$obj->URLSegment'")->value();
$this->assertEquals($obj->ID, $createdID);
@@ -97,13 +97,13 @@ class SiteTreeTest extends SapphireTest {
$obj = $this->objFromFixture('Page', 'about');
$obj->Title = "asdfasdf";
$obj->write();
- $this->assertTrue($obj->doPublish());
+ $this->assertTrue($obj->publishRecursive());
$this->assertEquals('asdfasdf', DB::query("SELECT \"Title\" FROM \"SiteTree_Live\" WHERE \"ID\" = '$obj->ID'")->value());
$obj->Title = null;
$obj->write();
- $this->assertTrue($obj->doPublish());
+ $this->assertTrue($obj->publishRecursive());
$this->assertNull(DB::query("SELECT \"Title\" FROM \"SiteTree_Live\" WHERE \"ID\" = '$obj->ID'")->value());
@@ -136,7 +136,7 @@ class SiteTreeTest extends SapphireTest {
$s->Title = "V1";
$s->URLSegment = "get-one-test-page";
$s->write();
- $s->publish("Stage", "Live");
+ $s->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$s->Title = "V2";
$s->write();
@@ -153,7 +153,7 @@ class SiteTreeTest extends SapphireTest {
public function testChidrenOfRootAreTopLevelPages() {
$pages = SiteTree::get();
- foreach($pages as $page) $page->publish('Stage', 'Live');
+ foreach($pages as $page) $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
unset($pages);
/* If we create a new SiteTree object with ID = 0 */
@@ -201,7 +201,7 @@ class SiteTreeTest extends SapphireTest {
// published page
$publishedPage = new SiteTree();
$publishedPage->write();
- $publishedPage->publish('Stage','Live');
+ $publishedPage->copyVersionToStage('Stage','Live');
$this->assertFalse($publishedPage->getIsDeletedFromStage());
$this->assertFalse($publishedPage->getIsAddedToStage());
$this->assertFalse($publishedPage->getIsModifiedOnStage());
@@ -210,7 +210,7 @@ class SiteTreeTest extends SapphireTest {
$deletedFromDraftPage = new SiteTree();
$deletedFromDraftPage->write();
$deletedFromDraftPageID = $deletedFromDraftPage->ID;
- $deletedFromDraftPage->publish('Stage','Live');
+ $deletedFromDraftPage->copyVersionToStage('Stage','Live');
$deletedFromDraftPage->deleteFromStage('Stage');
$this->assertTrue($deletedFromDraftPage->getIsDeletedFromStage());
$this->assertFalse($deletedFromDraftPage->getIsAddedToStage());
@@ -219,7 +219,7 @@ class SiteTreeTest extends SapphireTest {
// published page, deleted from live
$deletedFromLivePage = new SiteTree();
$deletedFromLivePage->write();
- $deletedFromLivePage->publish('Stage','Live');
+ $deletedFromLivePage->copyVersionToStage('Stage','Live');
$deletedFromLivePage->deleteFromStage('Stage');
$deletedFromLivePage->deleteFromStage('Live');
$this->assertTrue($deletedFromLivePage->getIsDeletedFromStage());
@@ -229,7 +229,7 @@ class SiteTreeTest extends SapphireTest {
// published page, modified
$modifiedOnDraftPage = new SiteTree();
$modifiedOnDraftPage->write();
- $modifiedOnDraftPage->publish('Stage','Live');
+ $modifiedOnDraftPage->copyVersionToStage('Stage','Live');
$modifiedOnDraftPage->Content = 'modified';
$modifiedOnDraftPage->write();
$this->assertFalse($modifiedOnDraftPage->getIsDeletedFromStage());
@@ -331,10 +331,10 @@ class SiteTreeTest extends SapphireTest {
Config::inst()->update('SiteTree', 'nested_urls', true);
- $child->publish('Stage', 'Live');
+ $child->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$parent->URLSegment = 'changed-on-live';
$parent->write();
- $parent->publish('Stage', 'Live');
+ $parent->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$parent->URLSegment = 'changed-on-draft';
$parent->write();
@@ -373,11 +373,11 @@ class SiteTreeTest extends SapphireTest {
$this->logInWithPermission('ADMIN');
$pageAbout = $this->objFromFixture('Page', 'about');
- $pageAbout->doPublish();
+ $pageAbout->publishRecursive();
$pageStaff = $this->objFromFixture('Page', 'staff');
- $pageStaff->doPublish();
+ $pageStaff->publishRecursive();
$pageStaffDuplicate = $this->objFromFixture('Page', 'staffduplicate');
- $pageStaffDuplicate->doPublish();
+ $pageStaffDuplicate->publishRecursive();
$parentPage = $this->objFromFixture('Page', 'about');
@@ -397,11 +397,11 @@ class SiteTreeTest extends SapphireTest {
$this->logInWithPermission('ADMIN');
$pageAbout = $this->objFromFixture('Page', 'about');
- $pageAbout->doPublish();
+ $pageAbout->publishRecursive();
$pageStaff = $this->objFromFixture('Page', 'staff');
- $pageStaff->doPublish();
+ $pageStaff->publishRecursive();
$pageStaffDuplicate = $this->objFromFixture('Page', 'staffduplicate');
- $pageStaffDuplicate->doPublish();
+ $pageStaffDuplicate->publishRecursive();
$parentPage = $this->objFromFixture('Page', 'about');
$parentPage->doUnpublish();
@@ -418,11 +418,11 @@ class SiteTreeTest extends SapphireTest {
$this->logInWithPermission('ADMIN');
$pageAbout = $this->objFromFixture('Page', 'about');
- $pageAbout->doPublish();
+ $pageAbout->publishRecursive();
$pageStaff = $this->objFromFixture('Page', 'staff');
- $pageStaff->doPublish();
+ $pageStaff->publishRecursive();
$pageStaffDuplicate = $this->objFromFixture('Page', 'staffduplicate');
- $pageStaffDuplicate->doPublish();
+ $pageStaffDuplicate->publishRecursive();
$parentPage = $this->objFromFixture('Page', 'about');
$parentPage->doUnpublish();
@@ -519,7 +519,7 @@ class SiteTreeTest extends SapphireTest {
$page = new Page();
$page->write();
$page->CanEditType = "Inherit";
- $page->doPublish();
+ $page->publishRecursive();
$pageID = $page->ID;
// Lock down the site config
@@ -546,7 +546,7 @@ class SiteTreeTest extends SapphireTest {
// Publish the changes to the page
$this->objFromFixture('Member','admin')->logIn();
- $page->doPublish();
+ $page->publishRecursive();
// Confirm that Member.editor can still edit the page
$this->objFromFixture('Member','editor')->logIn();
@@ -601,7 +601,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertEquals(0, $savedVersion['PublisherID']);
// Publish the page
- $about->doPublish();
+ $about->publishRecursive();
$publishedVersion = DB::query("SELECT \"AuthorID\", \"PublisherID\" FROM \"SiteTree_versions\"
WHERE \"RecordID\" = $about->ID ORDER BY \"Version\" DESC")->first();
@@ -834,7 +834,7 @@ class SiteTreeTest extends SapphireTest {
$sitetree = DataObject::get_by_id('SiteTree', $sitetree->ID, false);
$this->assertEquals($sitetree->URLSegment, rawurlencode('brötchen'));
- $sitetree->publish('Stage', 'Live');
+ $sitetree->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$sitetree = DataObject::get_by_id('SiteTree', $sitetree->ID, false);
$this->assertEquals($sitetree->URLSegment, rawurlencode('brötchen'));
$sitetreeLive = Versioned::get_one_by_stage('SiteTree', 'Live', '"SiteTree"."ID" = ' .$sitetree->ID, false);
@@ -1124,7 +1124,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertTrue($staff->canView($member));
// Publishing only the child page to live should orphan the live record, but not the staging one
- $staff->publish('Stage', 'Live');
+ $staff->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$this->assertFalse($staff->isOrphaned());
$this->assertTrue($staff->canView($member));
Versioned::set_stage(Versioned::LIVE);
@@ -1135,7 +1135,7 @@ class SiteTreeTest extends SapphireTest {
// Publishing the parent page should restore visibility
Versioned::set_stage(Versioned::DRAFT);
$about = $this->objFromFixture('Page', 'about');
- $about->publish('Stage', 'Live');
+ $about->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
Versioned::set_stage(Versioned::LIVE);
$staff = $this->objFromFixture('Page', 'staff');
$this->assertFalse($staff->isOrphaned());
@@ -1165,7 +1165,7 @@ class SiteTreeTest extends SapphireTest {
$this->assertFalse($page->isPublished());
// Publish
- $page->doPublish();
+ $page->publishRecursive();
$this->assertTrue($page->canAddChildren());
$this->assertFalse($page->getIsDeletedFromStage());
$this->assertTrue($page->isPublished());
diff --git a/tests/model/VirtualPageTest.php b/tests/model/VirtualPageTest.php
index 89633e50..69ef891f 100644
--- a/tests/model/VirtualPageTest.php
+++ b/tests/model/VirtualPageTest.php
@@ -67,7 +67,7 @@ class VirtualPageTest extends FunctionalTest {
$this->logInWithPermission('ADMIN');
$master = $this->objFromFixture('Page', 'master');
- $master->doPublish();
+ $master->publishRecursive();
$master->Title = "New title";
$master->MenuTitle = "New menutitle";
@@ -76,10 +76,10 @@ class VirtualPageTest extends FunctionalTest {
$vp1 = DataObject::get_by_id("VirtualPage", $this->idFromFixture('VirtualPage', 'vp1'));
$vp2 = DataObject::get_by_id("VirtualPage", $this->idFromFixture('VirtualPage', 'vp2'));
- $this->assertTrue($vp1->doPublish());
- $this->assertTrue($vp2->doPublish());
+ $this->assertTrue($vp1->publishRecursive());
+ $this->assertTrue($vp2->publishRecursive());
- $master->doPublish();
+ $master->publishRecursive();
Versioned::set_stage(Versioned::LIVE);
$vp1 = DataObject::get_by_id("VirtualPage", $this->idFromFixture('VirtualPage', 'vp1'));
@@ -126,14 +126,14 @@ class VirtualPageTest extends FunctionalTest {
$p = new Page();
$p->Content = "published content";
$p->write();
- $p->doPublish();
+ $p->publishRecursive();
// Virtual page has this content
$vp = new VirtualPage();
$vp->CopyContentFromID = $p->ID;
$vp->write();
- $vp->doPublish();
+ $vp->publishRecursive();
// Don't publish this change - published page will still say 'published content'
$p->Content = "draft content";
@@ -152,7 +152,7 @@ class VirtualPageTest extends FunctionalTest {
$this->assertEquals('published content', $vpLive->Content);
// Publishing the virtualpage should, however, trigger publishing of the live page
- $vpDraft->doPublish();
+ $vpDraft->publishRecursive();
// Everything is published live
$vpLive = Versioned::get_by_stage("VirtualPage", Versioned::LIVE)->byID($vp->ID);
@@ -177,7 +177,7 @@ class VirtualPageTest extends FunctionalTest {
$this->assertFalse($vp->canPublish());
// Once the source page gets published, then we can publish
- $p->doPublish();
+ $p->publishRecursive();
$this->assertTrue($vp->canPublish());
}
@@ -186,14 +186,14 @@ class VirtualPageTest extends FunctionalTest {
$p = new Page();
$p->Content = "test content";
$p->write();
- $p->doPublish();
+ $p->publishRecursive();
$pID = $p->ID;
$vp = new VirtualPage();
$vp->CopyContentFromID = $p->ID;
$vp->write();
$this->assertTrue($vp->canPublish());
- $this->assertTrue($vp->doPublish());
+ $this->assertTrue($vp->publishRecursive());
// Delete the source page semi-manually, without triggering
// the cascade publish back to the virtual page.
@@ -238,9 +238,9 @@ class VirtualPageTest extends FunctionalTest {
public function testCanView() {
$parentPage = $this->objFromFixture('Page', 'master3');
- $parentPage->publish('Stage', 'Live');
+ $parentPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$virtualPage = $this->objFromFixture('VirtualPage', 'vp3');
- $virtualPage->publish('Stage', 'Live');
+ $virtualPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$cindy = $this->objFromFixture('Member', 'cindy');
$alice = $this->objFromFixture('Member', 'alice');
@@ -268,7 +268,7 @@ class VirtualPageTest extends FunctionalTest {
$this->assertTrue($vp->getIsAddedToStage());
// VP is still orange after we publish
- $p->doPublish();
+ $p->publishRecursive();
$this->assertTrue($vp->getIsAddedToStage());
// A new VP created after P's initial construction
@@ -280,11 +280,11 @@ class VirtualPageTest extends FunctionalTest {
// Also remains orange after a republish
$p->Content = "new content";
$p->write();
- $p->doPublish();
+ $p->publishRecursive();
$this->assertTrue($vp2->getIsAddedToStage());
// VP is now published
- $vp->doPublish();
+ $vp->publishRecursive();
$this->assertTrue($vp->getExistsOnLive());
$this->assertFalse($vp->getIsModifiedOnStage());
@@ -298,7 +298,7 @@ class VirtualPageTest extends FunctionalTest {
$this->assertFalse($vp->getIsModifiedOnStage());
// Publish, VP goes black
- $p->doPublish();
+ $p->publishRecursive();
$this->assertTrue($vp->getExistsOnLive());
$this->assertFalse($vp->getIsModifiedOnStage());
}
@@ -308,11 +308,11 @@ class VirtualPageTest extends FunctionalTest {
$p = new Page();
$p->Title = "source";
$p->write();
- $this->assertTrue($p->doPublish());
+ $this->assertTrue($p->publishRecursive());
$vp = new VirtualPage();
$vp->CopyContentFromID = $p->ID;
$vp->write();
- $this->assertTrue($vp->doPublish());
+ $this->assertTrue($vp->publishRecursive());
// All is fine, the virtual page doesn't have a broken link
$this->assertFalse($vp->HasBrokenLink);
@@ -340,11 +340,11 @@ class VirtualPageTest extends FunctionalTest {
$p = new Page();
$p->Title = "source";
$p->write();
- $this->assertTrue($p->doPublish());
+ $this->assertTrue($p->publishRecursive());
$vp = new VirtualPage();
$vp->CopyContentFromID = $p->ID;
$vp->write();
- $this->assertTrue($vp->doPublish());
+ $this->assertTrue($vp->publishRecursive());
// All is fine, the virtual page doesn't have a broken link
$this->assertFalse($vp->HasBrokenLink);
@@ -478,13 +478,13 @@ class VirtualPageTest extends FunctionalTest {
$page->Title = 'published title';
$page->MySharedNonVirtualField = 'original';
$page->write();
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$virtual = new VirtualPageTest_VirtualPageSub();
$virtual->CopyContentFromID = $page->ID;
$virtual->MySharedNonVirtualField = 'virtual published field';
$virtual->write();
- $virtual->publish('Stage', 'Live');
+ $virtual->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page->Title = 'original'; // 'Title' is a virtual field
// Publication would causes the virtual field to copy through onBeforeWrite(),
@@ -517,7 +517,7 @@ class VirtualPageTest extends FunctionalTest {
$page->Title = 'title changed on original';
$page->MySharedNonVirtualField = 'changed only on original';
$page->write();
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
// Virtual page only notices changes to virtualised fields (Title)
$virtualLive = Versioned::get_one_by_stage('SiteTree', 'Live', '"SiteTree_Live"."ID" = ' . $virtual->ID, false);
@@ -584,11 +584,11 @@ class VirtualPageTest extends FunctionalTest {
$rp = new RedirectorPage(array('ExternalURL' => 'http://google.com', 'RedirectionType' => 'External'));
$rp->write();
- $rp->doPublish();
+ $rp->publishRecursive();
$vp = new VirtualPage(array('URLSegment' => 'vptest', 'CopyContentFromID' => $rp->ID));
$vp->write();
- $vp->doPublish();
+ $vp->publishRecursive();
$response = $this->get($vp->Link());
$this->assertEquals(301, $response->getStatusCode());
diff --git a/tests/search/SearchFormTest.php b/tests/search/SearchFormTest.php
index b299765b..2b6f6b38 100644
--- a/tests/search/SearchFormTest.php
+++ b/tests/search/SearchFormTest.php
@@ -75,7 +75,7 @@ class ZZZSearchFormTest extends FunctionalTest {
$sf = new SearchForm($this->mockController, 'SearchForm');
$publishedPage = $this->objFromFixture('SiteTree', 'publicPublishedPage');
- $publishedPage->publish('Stage', 'Live');
+ $publishedPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$this->waitUntilIndexingFinished();
$results = $sf->getResults(null, array('Search'=>'publicPublishedPage'));
@@ -94,7 +94,7 @@ class ZZZSearchFormTest extends FunctionalTest {
$publishedPage = $this->objFromFixture('SiteTree', 'publicPublishedPage');
$publishedPage->Title = "finding butterflies";
$publishedPage->write();
- $publishedPage->publish('Stage', 'Live');
+ $publishedPage->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$this->waitUntilIndexingFinished();
$results = $sf->getResults(null, array('Search'=>'"finding butterflies"'));
@@ -125,7 +125,7 @@ class ZZZSearchFormTest extends FunctionalTest {
$sf = new SearchForm($this->mockController, 'SearchForm');
$page = $this->objFromFixture('SiteTree', 'restrictedViewLoggedInUsers');
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$results = $sf->getResults(null, array('Search'=>'restrictedViewLoggedInUsers'));
$this->assertNotContains(
$page->ID,
@@ -150,7 +150,7 @@ class ZZZSearchFormTest extends FunctionalTest {
$sf = new SearchForm($this->mockController, 'SearchForm');
$page = $this->objFromFixture('SiteTree', 'restrictedViewOnlyWebsiteUsers');
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$results = $sf->getResults(null, array('Search'=>'restrictedViewOnlyWebsiteUsers'));
$this->assertNotContains(
$page->ID,
@@ -183,10 +183,10 @@ class ZZZSearchFormTest extends FunctionalTest {
$sf = new SearchForm($this->mockController, 'SearchForm');
$parent = $this->objFromFixture('SiteTree', 'restrictedViewLoggedInUsers');
- $parent->publish('Stage', 'Live');
+ $parent->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$page = $this->objFromFixture('SiteTree', 'inheritRestrictedView');
- $page->publish('Stage', 'Live');
+ $page->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$results = $sf->getResults(null, array('Search'=>'inheritRestrictedView'));
$this->assertNotContains(
$page->ID,
@@ -225,9 +225,9 @@ class ZZZSearchFormTest extends FunctionalTest {
$sf = new SearchForm($this->mockController, 'SearchForm');
$dontShowInSearchFile = $this->objFromFixture('File', 'dontShowInSearchFile');
- $dontShowInSearchFile->publish('Stage', 'Live');
+ $dontShowInSearchFile->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$showInSearchFile = $this->objFromFixture('File', 'showInSearchFile');
- $showInSearchFile->publish('Stage', 'Live');
+ $showInSearchFile->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$results = $sf->getResults(null, array('Search'=>'dontShowInSearchFile'));
$this->assertNotContains(
@@ -254,7 +254,7 @@ class ZZZSearchFormTest extends FunctionalTest {
$sf = new SearchForm($this->mockController, 'SearchForm');
$pageWithSpecialChars = $this->objFromFixture('SiteTree', 'pageWithSpecialChars');
- $pageWithSpecialChars->publish('Stage', 'Live');
+ $pageWithSpecialChars->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$results = $sf->getResults(null, array('Search'=>'Brötchen'));
$this->assertContains(
diff --git a/tests/tasks/RemoveOrphanedPagesTaskTest.php b/tests/tasks/RemoveOrphanedPagesTaskTest.php
index b95b7bcf..7d4c395d 100644
--- a/tests/tasks/RemoveOrphanedPagesTaskTest.php
+++ b/tests/tasks/RemoveOrphanedPagesTaskTest.php
@@ -40,13 +40,13 @@ class RemoveOrphanedPagesTaskTest extends FunctionalTest {
parent::setUp();
$parent1_published = $this->objFromFixture('Page', 'parent1_published');
- $parent1_published->publish('Stage', 'Live');
+ $parent1_published->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$child1_1_published = $this->objFromFixture('Page', 'child1_1_published');
- $child1_1_published->publish('Stage', 'Live');
+ $child1_1_published->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$child1_2_published = $this->objFromFixture('Page', 'child1_2_published');
- $child1_2_published->publish('Stage', 'Live');
+ $child1_2_published->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$child1_3_orphaned = $this->objFromFixture('Page', 'child1_3_orphaned');
$child1_3_orphaned->ParentID = 9999;
@@ -55,10 +55,10 @@ class RemoveOrphanedPagesTaskTest extends FunctionalTest {
$child1_4_orphaned_published = $this->objFromFixture('Page', 'child1_4_orphaned_published');
$child1_4_orphaned_published->ParentID = 9999;
$child1_4_orphaned_published->write();
- $child1_4_orphaned_published->publish('Stage', 'Live');
+ $child1_4_orphaned_published->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$grandchild1_1_2_published = $this->objFromFixture('Page', 'grandchild1_1_2_published');
- $grandchild1_1_2_published->publish('Stage', 'Live');
+ $grandchild1_1_2_published->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$grandchild1_1_3_orphaned = $this->objFromFixture('Page', 'grandchild1_1_3_orphaned');
$grandchild1_1_3_orphaned->ParentID = 9999;
@@ -69,10 +69,10 @@ class RemoveOrphanedPagesTaskTest extends FunctionalTest {
);
$grandchild1_1_4_orphaned_published->ParentID = 9999;
$grandchild1_1_4_orphaned_published->write();
- $grandchild1_1_4_orphaned_published->publish('Stage', 'Live');
+ $grandchild1_1_4_orphaned_published->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
$child2_1_published_orphaned = $this->objFromFixture('Page', 'child2_1_published_orphaned');
- $child2_1_published_orphaned->publish('Stage', 'Live');
+ $child2_1_published_orphaned->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE);
}
public function testGetOrphansByStage() {