Source of file ContactTag.php
Size: 4,177 Bytes - Last Modified: 2021-12-24T05:16:40+00:00
/var/www/docs.ssmods.com/process/src/code/model/ContactTag.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 | <?php /** * A tag for keyword descriptions of a contact. * * @package silverstripe * @subpackage contacts */ class ContactTag extends DataObject implements PermissionProvider { private static $singular_name = 'Tag'; private static $plural_name = 'Tags'; /** * @var array */ private static $db = array( 'Title' => 'Varchar(255)', ); /** * @var array */ private static $belongs_many_many = array( 'Contacts' => 'Contact', ); /** * {@inheritdoc} */ public function getCMSFields() { $fields = parent::getCMSFields(); $this->extend('updateCMSFields', $fields); return $fields; } public function providePermissions() { return array( "CONTACTS_TAGS_MANAGE" => array( 'name' => _t( 'Contacts.PERMISSION_MANAGE_CONTACTS_TAGS_DESCRIPTION', 'Manage contact tags' ), 'help' => _t( 'Contacts.PERMISSION_MANAGE_CONTACTS_TAGS_HELP', 'Allow creation and editing of contact lists' ), 'category' => _t('Contacts.Contacts', 'Contacts') ), "CONTACTS_TAGS_DELETE" => array( 'name' => _t( 'Contacts.PERMISSION_DELETE_CONTACTS_TAGS_DESCRIPTION', 'Delete contact lists' ), 'help' => _t( 'Contacts.PERMISSION_DELETE_CONTACTS_TAGS_HELP', 'Allow deleting of contact lists' ), 'category' => _t('Contacts.Contacts', 'Contacts') ) ); } public function canView($member = false) { $extended = $this->extendedCan(__FUNCTION__, $member); if ($extended !== null) { return $extended; } if ($member instanceof Member) { $memberID = $member->ID; } elseif (is_numeric($member)) { $memberID = $member; } else { $memberID = Member::currentUserID(); } if ($memberID && Permission::checkMember($memberID, array("ADMIN", "CONTACTS_TAGS_MANAGE"))) { return true; } return false; } public function canCreate($member = null) { $extended = $this->extendedCan(__FUNCTION__, $member); if ($extended !== null) { return $extended; } if ($member instanceof Member) { $memberID = $member->ID; } elseif (is_numeric($member)) { $memberID = $member; } else { $memberID = Member::currentUserID(); } if ($memberID && Permission::checkMember($memberID, array("ADMIN", "CONTACTS_TAGS_MANAGE"))) { return true; } return false; } public function canEdit($member = null) { $extended = $this->extendedCan(__FUNCTION__, $member); if ($extended !== null) { return $extended; } if ($member instanceof Member) { $memberID = $member->ID; } elseif (is_numeric($member)) { $memberID = $member; } else { $memberID = Member::currentUserID(); } if ($memberID && Permission::checkMember($memberID, array("ADMIN", "CONTACTS_TAGS_MANAGE"))) { return true; } return false; } public function canDelete($member = null) { $extended = $this->extendedCan(__FUNCTION__, $member); if ($extended !== null) { return $extended; } if ($member instanceof Member) { $memberID = $member->ID; } elseif (is_numeric($member)) { $memberID = $member; } else { $memberID = Member::currentUserID(); } if ($memberID && Permission::checkMember($memberID, array("ADMIN", "CONTACTS_TAGS_DELETE"))) { return true; } return false; } } |