Providing permissions
<?php
class MyObject extends DataObject implements PermissionProvider {
private static $db = array();
public function providePermissions() {
return array(
'OBJECT_CREATE' => array(
'name' => 'Create a MyObject',
'category' => 'MyObject Permissions'
),
'OBJECT_EDIT' => array(
'name' => 'Edit a MyObject',
'category' => 'MyObject Permissions',
),
'OBJECT_PUBLISH' => array(
'name' => 'Publish a MyObject',
'category' => 'MyObject Permissions',
),
'OBJECT_DELETE' => array(
'name' => 'Delete a MyObject',
'category' => 'MyObject Permissions',
)
);
}
public function canView($member = null) {
return true;
}
public function canCreate($member = null) {
return Permission::check('OBJECT_CREATE');
}
public function canEdit($member = null) {
return Permission::check('OBJECT_EDIT');
}
public function canPublish($member = null) {
return Permission::check('OBJECT_PUBLISH');
}
public function canDelete($member = null) {
return Permission::check('OBJECT_DELETE');
}
}