mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
Merge branch '5.1' into 5
This commit is contained in:
commit
6cc8a26502
@ -2641,10 +2641,12 @@ 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)) {
|
||||||
|
/** @var Versioned $page */
|
||||||
$page->writeWithoutVersion();
|
$page->writeWithoutVersion();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if this page references a parent which is archived, and not available in stage
|
* Determine if this page references a parent which is archived, and not available in stage
|
||||||
|
@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -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'
|
||||||
|
Loading…
Reference in New Issue
Block a user