silverstripe-framework/src/Security/InheritedPermissionsExtension.php
Damian Mooyman 0b70b008b3 API Implement InheritedPermission calculator (#6877)
* API Implement InheritedPermission calculator

* API Rename RootPermissions to DefaultPermissionChecker
API Refactor inherited permission fields into InheritedPermissionExtension
API Introduce PermissionChecker interface
2017-05-11 21:07:27 +12:00

33 lines
886 B
PHP

<?php
namespace SilverStripe\Security;
use SilverStripe\ORM\DataExtension;
use SilverStripe\ORM\ManyManyList;
/**
* Provides standard permission fields for inheritable permissions
*
* @property string $CanViewType
* @property string $CanEditType
* @method ManyManyList ViewerGroups()
* @method ManyManyList EditorGroups()
*/
class InheritedPermissionsExtension extends DataExtension
{
private static $db = [
'CanViewType' => "Enum('Anyone, LoggedInUsers, OnlyTheseUsers, Inherit', 'Inherit')",
'CanEditType' => "Enum('LoggedInUsers, OnlyTheseUsers, Inherit', 'Inherit')",
];
private static $many_many = [
'ViewerGroups' => Group::class,
'EditorGroups' => Group::class,
];
private static $defaults = [
'CanViewType' => InheritedPermissions::INHERIT,
'CanEditType' => InheritedPermissions::INHERIT,
];
}