Source of file Breed.php
Size: 2,277 Bytes - Last Modified: 2021-12-23T10:03:42+00:00
/var/www/docs.ssmods.com/process/src/app/src/Models/Breed.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | <?php use SilverStripe\ORM\DataObject; use SilverStripe\Security\Permission; use SilverStripe\Security\PermissionProvider; /** * Model to track a dog breed. * * @property string $Name * @property DataList|Dog[] $Dogs */ class Breed extends DataObject implements PermissionProvider { private static $table_name = 'Breed'; private static $summary_fields = [ 'Name' => 'Dog Breed' ]; private static $has_many = [ 'Dogs' => Dog::class ]; private static $db = [ 'Name' => 'Varchar', 'AverageSize' => 'Enum("tiny,small,medium,big,gigantic")' ]; public function providePermissions() { $category = DogAdmin::menu_title(); return [ "BREED_EDIT" => array( 'name' => _t('Breed.VIEW', "Create, edit and delete {title}", array( 'title' => $this->i18n_plural_name() )), 'category' => $category ), "BREED_VIEW" => array( 'name' => _t('Breed.VIEW', "Can view {title}", array( 'title' => $this->i18n_plural_name() )), 'category' => $category ) ]; } public function validate() { $results = parent::validate(); if (!trim($this->Name)) { $results->addFieldError('Name', 'Name is required.'); } return $results; } public function canEdit($member = null) { return Permission::check('BREED_EDIT', 'any', $member) ? true : parent::canEdit($member); } public function canCreate($member = null, $context = []) { return Permission::check('BREED_EDIT', 'any', $member) ? true : parent::canCreate($member, $context); } public function canDelete($member = null) { return Permission::check('BREED_EDIT', 'any', $member) ? true : parent::canCreate($member); } public function canView($member = null) { return Permission::check('BREED_VIEW', 'any', $member) ? true : parent::canCreate($member); } } |