mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
Merge remote-tracking branch 'origin/3.0' into 3.1.0
Conflicts: code/controllers/ContentController.php code/model/SiteTree.php tests/search/SearchFormTest.php
This commit is contained in:
commit
ba57d42349
@ -101,12 +101,22 @@ class ContentController extends Controller {
|
|||||||
|
|
||||||
if($this->redirectedTo()) return;
|
if($this->redirectedTo()) return;
|
||||||
|
|
||||||
// Check page permissions
|
// Draft/Archive security check - only CMS users should be able to look at stage/archived content
|
||||||
if($this->dataRecord && $this->URLSegment != 'Security' && !$this->dataRecord->canView()) {
|
if(
|
||||||
$permissionMessage = null;
|
$this->URLSegment != 'Security'
|
||||||
|
&& !Session::get('unsecuredDraftSite')
|
||||||
// Check if we could view the live version, offer redirect if so
|
&& (
|
||||||
if($this->canViewStage('Live')) {
|
Versioned::current_archived_date()
|
||||||
|
|| (Versioned::current_stage() && Versioned::current_stage() != 'Live')
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
if(!$this->dataRecord->canViewStage(Versioned::current_archived_date() ? 'Stage' : Versioned::current_stage())) {
|
||||||
|
$link = $this->Link();
|
||||||
|
$message = _t(
|
||||||
|
"ContentController.DRAFT_SITE_ACCESS_RESTRICTION",
|
||||||
|
'You must log in with your CMS password in order to view the draft or archived content. ' .
|
||||||
|
'<a href="%s">Click here to go back to the published site.</a>'
|
||||||
|
);
|
||||||
Session::clear('currentStage');
|
Session::clear('currentStage');
|
||||||
Session::clear('archiveDate');
|
Session::clear('archiveDate');
|
||||||
|
|
||||||
|
@ -109,7 +109,6 @@ class ZZZSearchFormTest extends FunctionalTest {
|
|||||||
|
|
||||||
$page = $this->objFromFixture('SiteTree', 'restrictedViewLoggedInUsers');
|
$page = $this->objFromFixture('SiteTree', 'restrictedViewLoggedInUsers');
|
||||||
$page->publish('Stage', 'Live');
|
$page->publish('Stage', 'Live');
|
||||||
|
|
||||||
$results = $sf->getResults(null, array('Search'=>'restrictedViewLoggedInUsers'));
|
$results = $sf->getResults(null, array('Search'=>'restrictedViewLoggedInUsers'));
|
||||||
$this->assertNotContains(
|
$this->assertNotContains(
|
||||||
$page->ID,
|
$page->ID,
|
||||||
@ -135,7 +134,6 @@ class ZZZSearchFormTest extends FunctionalTest {
|
|||||||
|
|
||||||
$page = $this->objFromFixture('SiteTree', 'restrictedViewOnlyWebsiteUsers');
|
$page = $this->objFromFixture('SiteTree', 'restrictedViewOnlyWebsiteUsers');
|
||||||
$page->publish('Stage', 'Live');
|
$page->publish('Stage', 'Live');
|
||||||
|
|
||||||
$results = $sf->getResults(null, array('Search'=>'restrictedViewOnlyWebsiteUsers'));
|
$results = $sf->getResults(null, array('Search'=>'restrictedViewOnlyWebsiteUsers'));
|
||||||
$this->assertNotContains(
|
$this->assertNotContains(
|
||||||
$page->ID,
|
$page->ID,
|
||||||
@ -165,8 +163,6 @@ class ZZZSearchFormTest extends FunctionalTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testInheritedRestrictedPagesNotIncluded() {
|
public function testInheritedRestrictedPagesNotIncluded() {
|
||||||
if(!$this->checkFulltextSupport()) return;
|
|
||||||
|
|
||||||
$sf = new SearchForm($this->mockController, 'SearchForm');
|
$sf = new SearchForm($this->mockController, 'SearchForm');
|
||||||
|
|
||||||
$parent = $this->objFromFixture('SiteTree', 'restrictedViewLoggedInUsers');
|
$parent = $this->objFromFixture('SiteTree', 'restrictedViewLoggedInUsers');
|
||||||
@ -174,7 +170,6 @@ class ZZZSearchFormTest extends FunctionalTest {
|
|||||||
|
|
||||||
$page = $this->objFromFixture('SiteTree', 'inheritRestrictedView');
|
$page = $this->objFromFixture('SiteTree', 'inheritRestrictedView');
|
||||||
$page->publish('Stage', 'Live');
|
$page->publish('Stage', 'Live');
|
||||||
|
|
||||||
$results = $sf->getResults(null, array('Search'=>'inheritRestrictedView'));
|
$results = $sf->getResults(null, array('Search'=>'inheritRestrictedView'));
|
||||||
$this->assertNotContains(
|
$this->assertNotContains(
|
||||||
$page->ID,
|
$page->ID,
|
||||||
|
Loading…
Reference in New Issue
Block a user