jules0x
6/18/2015 - 4:25 AM

Providing permissions

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');
	}

}