mirror of
https://github.com/silverstripe/silverstripe-subsites
synced 2024-09-28 20:29:23 +02:00
This commit is contained in:
parent
94a754baf0
commit
339c86ba25
@ -32,6 +32,11 @@ class FileSubsites extends DataObjectDecorator {
|
|||||||
$sites = Subsite::accessible_sites('CMS_ACCESS_AssetAdmin');
|
$sites = Subsite::accessible_sites('CMS_ACCESS_AssetAdmin');
|
||||||
if($sites)$fields->addFieldToTab('Root.Details', new DropdownField("SubsiteID", "Subsite", $sites->toDropdownMap('ID', 'Title', "(Public)")));
|
if($sites)$fields->addFieldToTab('Root.Details', new DropdownField("SubsiteID", "Subsite", $sites->toDropdownMap('ID', 'Title', "(Public)")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($this->owner->SubsiteID == 0&&!Permission::check('EDIT_PERMISSIONS')){
|
||||||
|
$fields->removeFieldFromTab("Root", "Upload");
|
||||||
|
$fields->transform(new ReadonlyTransformation());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -55,18 +60,21 @@ class FileSubsites extends DataObjectDecorator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function augmentBeforeWrite() {
|
function augmentBeforeWrite() {
|
||||||
if(!is_numeric($this->owner->ID) && !$this->owner->SubsiteID) $this->owner->SubsiteID = Subsite::currentSubsiteID();
|
if(!$this->owner->ID && !$this->owner->SubsiteID) $this->owner->SubsiteID = Subsite::currentSubsiteID();
|
||||||
}
|
}
|
||||||
|
|
||||||
function alternateCanEdit() {
|
function alternateCanEdit() {
|
||||||
// Check the CMS_ACCESS_SecurityAdmin privileges on the subsite that owns this group
|
// Check the CMS_ACCESS_SecurityAdmin privileges on the subsite that owns this group
|
||||||
$oldSubsiteID = Session::get('SubsiteID');
|
$subsiteID = Session::get('SubsiteID');
|
||||||
|
|
||||||
|
if($subsiteID&&$subsiteID == $this->owner->SubsiteID) return true;
|
||||||
|
else {
|
||||||
Session::set('SubsiteID', $this->owner->SubsiteID);
|
Session::set('SubsiteID', $this->owner->SubsiteID);
|
||||||
$access = Permission::check('CMS_ACCESS_SecurityAdmin');
|
$access = Permission::check('CMS_ACCESS_AssetAdmin');
|
||||||
Session::set('SubsiteID', $oldSubsiteID);
|
Session::set('SubsiteID', $subsiteID);
|
||||||
|
|
||||||
return $access;
|
return $access;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user