This commit is contained in:
Normann Lou 2008-07-14 07:38:54 +00:00
parent 94a754baf0
commit 339c86ba25

View File

@ -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');
Session::set('SubsiteID', $this->owner->SubsiteID); if($subsiteID&&$subsiteID == $this->owner->SubsiteID) return true;
$access = Permission::check('CMS_ACCESS_SecurityAdmin'); else {
Session::set('SubsiteID', $oldSubsiteID); Session::set('SubsiteID', $this->owner->SubsiteID);
$access = Permission::check('CMS_ACCESS_AssetAdmin');
Session::set('SubsiteID', $subsiteID);
return $access; return $access;
}
} }
} }