MINOR when you delete a user from a group, they are also removed from any sub groups. (from r87119)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/branches/2.4@98158 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2010-02-04 04:39:25 +00:00
parent fd38303749
commit 7a1e8591c8
2 changed files with 18 additions and 2 deletions

View File

@ -712,6 +712,15 @@ JS;
FormResponse::add("\$('Form_EditForm').elements.URLSegment.value = \"$record->URLSegment\";");
FormResponse::add("\$('Form_EditForm_StageURLSegment').value = \"" . $record->AbsoluteLink() . "\";");
}
if($virtualPages = DataObject::get("VirtualPage", "CopyContentFromID = $record->ID")) {
foreach($virtualPages as $page) {
if($page->ID != $record->ID) {
$title = Convert::raw2js($page->TreeTitle());
FormResponse::add("$('sitetree').setNodeTitle($page->ID, \"$title\");");
}
}
}
// If the 'Save & Publish' button was clicked, also publish the page
if (isset($urlParams['publish']) && $urlParams['publish'] == 1) {

View File

@ -385,9 +385,16 @@ class MemberTableField_ItemRequest extends ComplexTableField_ItemRequest {
if($this->ctf->Can('delete') !== true) {
return false;
}
$groupID = $this->ctf->sourceID();
$this->dataObj()->Groups()->remove($groupID);
$group = DataObject::get_by_id('Group', $groupID);
if ($group) {
foreach($group->getAllChildren() as $subGroup) {
$this->dataObj()->Groups()->remove($subGroup);
}
$this->dataObj()->Groups()->remove($groupID);
}
}
}