Source of file ServiceDefinition.php
Size: 1,504 Bytes - Last Modified: 2022-02-21T10:00:30+00:00
/var/www/docs.ssmods.com/process/src/code/ServiceDefinition.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | <?php class ServiceDefinition extends DataObject implements PermissionProvider { public static $db = array( 'Name' => 'Varchar(255)', 'URL' => 'Varchar(255)', 'Order'=>'Int' ); public static $searchable_fields = array( 'Name', 'URL' ); public static $summary_fields = array( 'Name'=>'Name', 'URL'=>'URL' ); public static $default_sort = 'Order'; public function getCMSFields(){ $fields = parent::getCMSFields(); $fields->removeByName('Order'); return $fields; } public function getLink() { if ($this->URL) { $url = parse_url($this->URL); // if no scheme set in the link, default to http if(!isset($url['scheme'])) { return 'http://' . $this->URL; } return $this->URL; } else { return false; } } public function canView($member = null) { return true; } public function canEdit($member = null) { return Permission::check('DEFINITION_EDIT'); } public function canDelete($member = null) { return Permission::check('DEFINITION_DELETE'); } public function canCreate($member = null) { return Permission::check('DEFINITION_CREATE'); } public function providePermissions() { return array( 'DEFINITION_EDIT' => array( 'name' => 'Edit a definition', 'category' => 'Definitions', ), 'DEFINITION_DELETE' => array( 'name' => 'Delete a definition', 'category' => 'Definitions', ), 'DEFINITION_CREATE' => array( 'name' => 'Create a definition', 'category' => 'Definitions' ) ); } } |