mirror of
https://github.com/silverstripe/silverstripe-subsites
synced 2024-10-22 09:05:55 +00:00
fixing tests: adjusting yml file, update Config::modify usage
This commit is contained in:
parent
5d3af16aaf
commit
e2bdd5ca41
@ -12,18 +12,19 @@ use SilverStripe\ORM\DataQuery;
|
||||
use SilverStripe\ORM\Queries\SQLSelect;
|
||||
use SilverStripe\Security\Permission;
|
||||
use SilverStripe\Subsites\Model\Subsite;
|
||||
|
||||
/**
|
||||
* Extension for the File object to add subsites support
|
||||
*
|
||||
* @package subsites
|
||||
*/
|
||||
class FileSubsites extends DataExtension
|
||||
{
|
||||
{
|
||||
// If this is set to true, all folders created will be default be
|
||||
// considered 'global', unless set otherwise
|
||||
public static $default_root_folders_global = false;
|
||||
|
||||
private static $has_one=[
|
||||
private static $has_one = [
|
||||
'Subsite' => Subsite::class,
|
||||
];
|
||||
|
||||
@ -45,28 +46,29 @@ class FileSubsites extends DataExtension
|
||||
*/
|
||||
public function updateCMSFields(FieldList $fields)
|
||||
{
|
||||
if($this->owner instanceof Folder) {
|
||||
if ($this->owner instanceof Folder) {
|
||||
$sites = Subsite::accessible_sites('CMS_ACCESS_AssetAdmin');
|
||||
$values = [];
|
||||
$values[0] = _t('FileSubsites.AllSitesDropdownOpt','All sites');
|
||||
$values[0] = _t('FileSubsites.AllSitesDropdownOpt', 'All sites');
|
||||
foreach ($sites as $site) {
|
||||
$values[$site->ID] = $site->Title;
|
||||
}
|
||||
ksort($values);
|
||||
if($sites){
|
||||
if ($sites) {
|
||||
//Dropdown needed to move folders between subsites
|
||||
$dropdown = new DropdownField(
|
||||
'SubsiteID',
|
||||
_t('FileSubsites.SubsiteFieldLabel',Subsite::class),
|
||||
_t('FileSubsites.SubsiteFieldLabel', Subsite::class),
|
||||
$values
|
||||
);
|
||||
$dropdown->addExtraClass('subsites-move-dropdown');
|
||||
$fields->push($dropdown);
|
||||
$fields->push(new LiteralField(
|
||||
'Message',
|
||||
'<p class="message notice">'.
|
||||
_t('ASSETADMIN.SUBSITENOTICE', 'Folders and files created in the main site are accessible by all subsites.')
|
||||
.'</p>'
|
||||
'<p class="message notice">' .
|
||||
_t('ASSETADMIN.SUBSITENOTICE',
|
||||
'Folders and files created in the main site are accessible by all subsites.')
|
||||
. '</p>'
|
||||
));
|
||||
}
|
||||
}
|
||||
@ -133,7 +135,7 @@ class FileSubsites extends DataExtension
|
||||
{
|
||||
// Check the CMS_ACCESS_SecurityAdmin privileges on the subsite that owns this group
|
||||
$subsiteID = Session::get('SubsiteID');
|
||||
if($subsiteID&&$subsiteID == $this->owner->SubsiteID) {
|
||||
if ($subsiteID && $subsiteID == $this->owner->SubsiteID) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -146,10 +148,12 @@ class FileSubsites extends DataExtension
|
||||
|
||||
/**
|
||||
* Return a piece of text to keep DataObject cache keys appropriately specific
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function cacheKeyComponent()
|
||||
{
|
||||
return 'subsite-'.Subsite::currentSubsiteID();
|
||||
return 'subsite-' . Subsite::currentSubsiteID();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,13 +6,14 @@ use SilverStripe\Assets\File;
|
||||
use SilverStripe\Assets\Folder;
|
||||
use SilverStripe\Forms\FieldList;
|
||||
use SilverStripe\Security\Member;
|
||||
use SilverStripe\Subsites\Extensions\FileSubsites;
|
||||
use SilverStripe\Subsites\Tests\BaseSubsiteTest;
|
||||
use SilverStripe\Subsites\Model\Subsite;
|
||||
|
||||
class FileSubsitesTest extends BaseSubsiteTest
|
||||
{
|
||||
|
||||
public static $fixture_file = 'subsites/tests/SubsiteTest.yml';
|
||||
public static $fixture_file = 'subsites/tests/php/SubsiteTest.yml';
|
||||
|
||||
/**
|
||||
* Disable other file extensions
|
||||
@ -31,12 +32,12 @@ class FileSubsitesTest extends BaseSubsiteTest
|
||||
|
||||
public function testTrivialFeatures()
|
||||
{
|
||||
$this->assertTrue(is_array(singleton('FileSubsites')->extraStatics()));
|
||||
$this->assertTrue(is_array(singleton(FileSubsites::class)->extraStatics()));
|
||||
$file = new File();
|
||||
$file->Name = 'FileTitle';
|
||||
$file->Title = 'FileTitle';
|
||||
$this->assertEquals(' * FileTitle', $file->alternateTreeTitle());
|
||||
$file->SubsiteID = $this->objFromFixture('Subsite', 'domaintest1')->ID;
|
||||
$file->SubsiteID = $this->objFromFixture(Subsite::class, 'domaintest1')->ID;
|
||||
$this->assertEquals('FileTitle', $file->getTreeTitle());
|
||||
$this->assertTrue(singleton(Folder::class)->getCMSFields() instanceof FieldList);
|
||||
Subsite::changeSubsite(1);
|
||||
@ -47,7 +48,7 @@ class FileSubsitesTest extends BaseSubsiteTest
|
||||
{
|
||||
$this->objFromFixture(Member::class, 'admin')->logIn();
|
||||
|
||||
$subsite = $this->objFromFixture('Subsite', 'domaintest1');
|
||||
$subsite = $this->objFromFixture(Subsite::class, 'domaintest1');
|
||||
FileSubsites::$default_root_folders_global = true;
|
||||
|
||||
Subsite::changeSubsite(0);
|
||||
|
@ -9,7 +9,7 @@ use SilverStripe\Subsites\Model\Subsite;
|
||||
|
||||
class GroupSubsitesTest extends BaseSubsiteTest
|
||||
{
|
||||
public static $fixture_file = 'subsites/tests/SubsiteTest.yml';
|
||||
public static $fixture_file = 'subsites/tests/php/SubsiteTest.yml';
|
||||
|
||||
protected $requireDefaultRecordsFrom = [GroupSubsites::class];
|
||||
public function testTrivialFeatures()
|
||||
|
@ -13,7 +13,7 @@ use SilverStripe\Subsites\Model\Subsite;
|
||||
|
||||
class LeftAndMainSubsitesTest extends FunctionalTest
|
||||
{
|
||||
public static $fixture_file = 'subsites/tests/SubsiteTest.yml';
|
||||
public static $fixture_file = 'subsites/tests/php/SubsiteTest.yml';
|
||||
|
||||
/**
|
||||
* Avoid subsites filtering on fixture fetching.
|
||||
@ -84,13 +84,13 @@ class LeftAndMainSubsitesTest extends FunctionalTest
|
||||
$l = new LeftAndMain();
|
||||
Config::inst()->nest();
|
||||
|
||||
Config::inst()->update(CMSPageEditController::class, 'treats_subsite_0_as_global', false);
|
||||
Config::modify()->set(CMSPageEditController::class, 'treats_subsite_0_as_global', false);
|
||||
$this->assertTrue($l->shouldChangeSubsite(CMSPageEditController::class, 0, 5));
|
||||
$this->assertFalse($l->shouldChangeSubsite(CMSPageEditController::class, 0, 0));
|
||||
$this->assertTrue($l->shouldChangeSubsite(CMSPageEditController::class, 1, 5));
|
||||
$this->assertFalse($l->shouldChangeSubsite(CMSPageEditController::class, 1, 1));
|
||||
|
||||
Config::inst()->update(CMSPageEditController::class, 'treats_subsite_0_as_global', true);
|
||||
Config::modify()->set(CMSPageEditController::class, 'treats_subsite_0_as_global', true);
|
||||
$this->assertFalse($l->shouldChangeSubsite(CMSPageEditController::class, 0, 5));
|
||||
$this->assertFalse($l->shouldChangeSubsite(CMSPageEditController::class, 0, 0));
|
||||
$this->assertTrue($l->shouldChangeSubsite(CMSPageEditController::class, 1, 5));
|
||||
|
@ -9,7 +9,7 @@ use SilverStripe\Subsites\Model\Subsite;
|
||||
|
||||
class SiteConfigSubsitesTest extends BaseSubsiteTest
|
||||
{
|
||||
public static $fixture_file = 'subsites/tests/SubsiteTest.yml';
|
||||
public static $fixture_file = 'subsites/tests/php/SubsiteTest.yml';
|
||||
|
||||
public function testEachSubsiteHasAUniqueSiteConfig()
|
||||
{
|
||||
|
@ -22,7 +22,7 @@ use SilverStripe\Subsites\Pages\SubsitesVirtualPage;
|
||||
class SiteTreeSubsitesTest extends BaseSubsiteTest
|
||||
{
|
||||
|
||||
public static $fixture_file = 'subsites/tests/SubsiteTest.yml';
|
||||
public static $fixture_file = 'subsites/tests/php/SubsiteTest.yml';
|
||||
|
||||
protected $extraDataObjects = [
|
||||
'SiteTreeSubsitesTest_ClassA',
|
||||
@ -193,7 +193,7 @@ class SiteTreeSubsitesTest extends BaseSubsiteTest
|
||||
|
||||
public function testCopyToSubsite() {
|
||||
// Remove baseurl if testing in subdir
|
||||
Config::inst()->update(Director::class, 'alternate_base_url', '/');
|
||||
Config::modify()->set(Director::class, 'alternate_base_url', '/');
|
||||
|
||||
/** @var Subsite $otherSubsite */
|
||||
$otherSubsite = $this->objFromFixture(Subsite::class, 'subsite1');
|
||||
@ -219,7 +219,7 @@ class SiteTreeSubsitesTest extends BaseSubsiteTest
|
||||
}
|
||||
|
||||
public function testPageTypesBlacklistInCMSMain() {
|
||||
$editor = $this->objFromFixture('Member', 'editor');
|
||||
$editor = $this->objFromFixture(Member::class, 'editor');
|
||||
Session::set("loggedInAs", $editor->ID);
|
||||
|
||||
$cmsmain = new CMSMain();
|
||||
|
@ -12,7 +12,7 @@ use SilverStripe\Subsites\Model\Subsite;
|
||||
|
||||
class SubsiteAdminFunctionalTest extends FunctionalTest
|
||||
{
|
||||
public static $fixture_file = 'subsites/tests/SubsiteTest.yml';
|
||||
public static $fixture_file = 'subsites/tests/php/SubsiteTest.yml';
|
||||
public static $use_draft_site = true;
|
||||
|
||||
protected $autoFollowRedirection = false;
|
||||
@ -80,13 +80,13 @@ class SubsiteAdminFunctionalTest extends FunctionalTest
|
||||
|
||||
Config::inst()->nest();
|
||||
|
||||
Config::inst()->update(CMSPageEditController::class, 'treats_subsite_0_as_global', false);
|
||||
Config::modify()->set(CMSPageEditController::class, 'treats_subsite_0_as_global', false);
|
||||
Subsite::changeSubsite(0);
|
||||
$this->getAndFollowAll("admin/pages/edit/show/$subsite1Home->ID");
|
||||
$this->assertEquals(Subsite::currentSubsiteID(), $subsite1Home->SubsiteID, 'Loading an object switches the subsite');
|
||||
$this->assertRegExp("#^admin/pages.*#", $this->mainSession->lastUrl(), 'Lands on the correct section');
|
||||
|
||||
Config::inst()->update(CMSPageEditController::class, 'treats_subsite_0_as_global', true);
|
||||
Config::modify()->set(CMSPageEditController::class, 'treats_subsite_0_as_global', true);
|
||||
Subsite::changeSubsite(0);
|
||||
$this->getAndFollowAll("admin/pages/edit/show/$subsite1Home->ID");
|
||||
$this->assertEquals(Subsite::currentSubsiteID(), $subsite1Home->SubsiteID, 'Loading a non-main-site object still switches the subsite if configured with treats_subsite_0_as_global');
|
||||
|
@ -10,7 +10,7 @@ use SilverStripe\Subsites\Model\Subsite;
|
||||
|
||||
class SubsiteAdminTest extends BaseSubsiteTest
|
||||
{
|
||||
public static $fixture_file = 'subsites/tests/SubsiteTest.yml';
|
||||
public static $fixture_file = 'subsites/tests/php/SubsiteTest.yml';
|
||||
|
||||
public function adminLoggedInSession()
|
||||
{
|
||||
|
@ -12,7 +12,7 @@ use SilverStripe\Subsites\Model\SubsiteDomain;
|
||||
|
||||
class SubsiteTest extends BaseSubsiteTest
|
||||
{
|
||||
public static $fixture_file = 'subsites/tests/SubsiteTest.yml';
|
||||
public static $fixture_file = 'subsites/tests/php/SubsiteTest.yml';
|
||||
|
||||
/**
|
||||
* Original value of {@see SubSite::$strict_subdomain_matching}
|
||||
@ -32,7 +32,7 @@ class SubsiteTest extends BaseSubsiteTest
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
Config::inst()->update(Director::class, 'alternate_base_url', '/');
|
||||
Config::modify()->set(Director::class, 'alternate_base_url', '/');
|
||||
$this->origStrictSubdomainMatching = Subsite::$strict_subdomain_matching;
|
||||
$this->origServer = $_SERVER;
|
||||
Subsite::$strict_subdomain_matching = false;
|
||||
|
@ -40,7 +40,7 @@ SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
IsPrimary: 1
|
||||
dt2b:
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.domaintest2
|
||||
Domain: *.mysite.com
|
||||
Domain: '*.mysite.com'
|
||||
Protocol: automatic
|
||||
dt3:
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.domaintest3
|
||||
@ -64,40 +64,52 @@ Page:
|
||||
mainSubsitePage:
|
||||
Title: 'MainSubsitePage'
|
||||
SubsiteID: 0
|
||||
URLSegment: mainsubsitepagehome:
|
||||
URLSegment: mainsubsitepage
|
||||
home:
|
||||
Title: 'Home'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.main
|
||||
URLSegment: homeabout:
|
||||
URLSegment: home
|
||||
about:
|
||||
Title: 'About'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.main
|
||||
URLSegment: aboutlinky:
|
||||
URLSegment: about
|
||||
linky:
|
||||
Title: 'Linky'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.main
|
||||
URLSegment: linkystaff:
|
||||
URLSegment: linky
|
||||
staff:
|
||||
Title: 'Staff'
|
||||
ParentID: =>Page.about
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.main
|
||||
URLSegment: staffcontact:
|
||||
URLSegment: staff
|
||||
contact:
|
||||
Title: 'Contact Us'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.main
|
||||
URLSegment: contact-usimportantpage:
|
||||
URLSegment: contact-us
|
||||
importantpage:
|
||||
Title: 'Important Page'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.main
|
||||
URLSegment: important-pagesubsite1_home:
|
||||
URLSegment: important-page
|
||||
subsite1_home:
|
||||
Title: 'Home (Subsite 1)'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsite1
|
||||
URLSegment: homesubsite1_contactus:
|
||||
URLSegment: home
|
||||
subsite1_contactus:
|
||||
Title: 'Contact Us (Subsite 1)'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsite1
|
||||
URLSegment: contact-ussubsite1_staff:
|
||||
URLSegment: contact-us
|
||||
subsite1_staff:
|
||||
Title: 'Staff'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsite1
|
||||
URLSegment: staffsubsite2_home:
|
||||
URLSegment: staff
|
||||
subsite2_home:
|
||||
Title: 'Home (Subsite 2)'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsite2
|
||||
URLSegment: homesubsite2_contactus:
|
||||
URLSegment: home
|
||||
subsite2_contactus:
|
||||
Title: 'Contact Us (Subsite 2)'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsite2URLSegment: contact-us
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsite2
|
||||
URLSegment: contact-us
|
||||
|
||||
SilverStripe\Security\PermissionRoleCode:
|
||||
roleCode1:
|
||||
|
@ -16,7 +16,7 @@ use SilverStripe\Subsites\Pages\SubsitesVirtualPage;
|
||||
class SubsitesVirtualPageTest extends BaseSubsiteTest
|
||||
{
|
||||
public static $fixture_file = array(
|
||||
'subsites/tests/SubsiteTest.yml',
|
||||
'subsites/tests/php/SubsiteTest.yml',
|
||||
'subsites/tests/SubsitesVirtualPageTest.yml',
|
||||
);
|
||||
|
||||
@ -204,7 +204,7 @@ class SubsitesVirtualPageTest extends BaseSubsiteTest
|
||||
|
||||
public function testUnpublishingParentPageUnpublishesSubsiteVirtualPages()
|
||||
{
|
||||
Config::inst()->update('StaticPublisher', 'disable_realtime', true);
|
||||
Config::modify()->set('StaticPublisher', 'disable_realtime', true);
|
||||
|
||||
// Go to main site, get parent page
|
||||
$subsite = $this->objFromFixture(Subsite::class, 'main');
|
||||
|
Loading…
x
Reference in New Issue
Block a user