Merge branch '5.1' into 5

This commit is contained in:
Steve Boyd 2023-09-05 15:20:06 +12:00
commit 6cc8a26502
3 changed files with 29 additions and 2 deletions

View File

@ -2641,8 +2641,10 @@ class SiteTree extends DataObject implements PermissionProvider, i18nEntityProvi
// Need to update pages linking to this one as no longer broken // Need to update pages linking to this one as no longer broken
foreach ($stageSelf->DependentPages() as $page) { foreach ($stageSelf->DependentPages() as $page) {
/** @var SiteTree $page */ if ($page->hasExtension(Versioned::class)) {
$page->writeWithoutVersion(); /** @var Versioned $page */
$page->writeWithoutVersion();
}
} }
} }

View File

@ -11,6 +11,7 @@ use SilverStripe\CMS\Model\VirtualPage;
use SilverStripe\CMS\Tests\Controllers\SiteTreeTest_NamespaceMapTestController; use SilverStripe\CMS\Tests\Controllers\SiteTreeTest_NamespaceMapTestController;
use SilverStripe\CMS\Tests\CMSEditLinkExtensionTest\BelongsToPage; use SilverStripe\CMS\Tests\CMSEditLinkExtensionTest\BelongsToPage;
use SilverStripe\CMS\Tests\CMSEditLinkExtensionTest\PageWithChild; use SilverStripe\CMS\Tests\CMSEditLinkExtensionTest\PageWithChild;
use SilverStripe\CMS\Tests\Model\SiteTreeBrokenLinksTest\NotPageObject;
use SilverStripe\CMS\Tests\Page\SiteTreeTest_NamespaceMapTest; use SilverStripe\CMS\Tests\Page\SiteTreeTest_NamespaceMapTest;
use SilverStripe\Control\ContentNegotiator; use SilverStripe\Control\ContentNegotiator;
use SilverStripe\Control\Controller; use SilverStripe\Control\Controller;
@ -67,6 +68,7 @@ class SiteTreeTest extends SapphireTest
SiteTreeTest_DataObject::class, SiteTreeTest_DataObject::class,
PageWithChild::class, PageWithChild::class,
BelongsToPage::class, BelongsToPage::class,
NotPageObject::class,
]; ];
public function reservedSegmentsProvider() public function reservedSegmentsProvider()
@ -2112,4 +2114,23 @@ class SiteTreeTest extends SapphireTest
], ],
]; ];
} }
public function testOnAfterRevertToLive()
{
// Create new page and publish it
$page = SiteTree::create();
$page->Content = 'Test content';
$id = $page->write();
$page->publishRecursive();
// Add link to non-page object
/** @var NotPageObject $obj */
$obj = $this->objFromFixture(NotPageObject::class, 'object1');
$obj->Content = '<a href="[sitetree_link,id='. $id .']">Link to Page</a>';
$obj->write();
//Test that method doesn't throw exception
$this->expectNotToPerformAssertions();
$page->onAfterRevertToLive();
}
} }

View File

@ -128,3 +128,7 @@ SilverStripe\CMS\Tests\Model\SiteTreeTest_DataObject:
relations: relations:
Title: 'Linked DataObject' Title: 'Linked DataObject'
Pages: =>SilverStripe\CMS\Model\SiteTree.home,=>SilverStripe\CMS\Model\SiteTree.about,=>SilverStripe\CMS\Model\SiteTree.staff Pages: =>SilverStripe\CMS\Model\SiteTree.home,=>SilverStripe\CMS\Model\SiteTree.about,=>SilverStripe\CMS\Model\SiteTree.staff
SilverStripe\CMS\Tests\Model\SiteTreeBrokenLinksTest\NotPageObject:
object1:
Content: 'Everything will be ok'