silverstripe-framework/security/PermissionRole.php
Sam Minnee 88d5843cab FEATURE: Add a simple interface for administrating permission roles. (from r85297)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@89189 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-15 22:28:11 +00:00

48 lines
1.1 KiB
PHP

<?php
/**
* A PermissionRole represents a collection of permission codes that can be applied to groups.
*
* Because permission codes are very granular, this lets website administrators create more
* business-oriented units of access control - Roles - and assign those to groups.
*/
class PermissionRole extends DataObject {
static $db = array(
"Title" => "Varchar",
);
static $has_many = array(
"Codes" => "PermissionRoleCode",
);
static $belongs_many_many = array(
"Groups" => "Group",
);
static $default_sort = 'Title';
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->removeFieldFromTab('Root', 'Codes');
$fields->removeFieldFromTab('Root', 'Groups');
$fields->addFieldToTab('Root.Main', new TableField(
"Codes",
"PermissionRoleCode",
array(
"Code" => _t('SecurityAdmin.CODE', 'Code'),
"Arg" => _t('SecurityAdmin.OPTIONALID', 'Optional ID'),
),
array(
"Code" => "PermissionDropdownField",
"Arg" => "TextField",
),
"RoleID",
$this->ID
));
return $fields;
}
}