Source of file Contact.php
Size: 2,279 Bytes - Last Modified: 2021-12-23T10:39:13+00:00
/var/www/docs.ssmods.com/process/src/src/Model/Contact.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | <?php namespace Sunnysideup\ContactList\Model; use SilverStripe\Forms\DropdownField; use SilverStripe\ORM\DataObject; class Contact extends DataObject { private static $table_name = 'Contact'; private static $db = [ 'FirstName' => 'Varchar(50)', 'Surname' => 'Varchar(50)', 'Email' => 'EmailAddress', 'BusinessName' => 'Varchar(50)', 'Website' => 'Varchar(50)', 'IsProfessional' => 'Boolean', 'IsVisible' => 'Boolean', 'IsHighlighted' => 'Boolean', 'Reference' => 'Varchar(50)', ]; private static $has_one = [ 'Location' => ContactLocation::class, ]; private static $many_many = [ 'Type' => ContactCategory::class, ]; private static $summary_fields = [ 'Title' => 'Name', 'BusinessName' => 'BusinessName', ]; private static $field_labels = [ 'LocationID' => 'Locationnnn', ]; private static $searchable_fields = [ 'Email' => 'PartialMatchFilter', 'FirstName' => 'PartialMatchFilter', 'Surname' => 'PartialMatchFilter', 'BusinessName' => 'PartialMatchFilter', 'Website' => 'PartialMatchFilter', 'IsProfessional' => 'ExactMatchFilter', 'IsVisible' => 'ExactMatchFilter', 'IsHighlighted' => 'ExactMatchFilter', 'Reference' => 'PartialMatchFilter', ]; /** * @inherited */ private static $casting = [ 'Title' => 'Varchar', ]; /** * @inherited */ private static $default_sort = [ 'BusinessName' => 'ASC', ]; private static $singular_name = 'Contact'; private static $plural_name = 'Contacts'; /** * @return string */ public function Title() { return $this->getTitle(); } public function getTitle() { return implode(' ', [$this->FirstName, $this->Surname]); } public function getCMSFields() { $fields = parent::getCMSfields(); $locationField = $fields->dataFieldByName('LocationID'); $fields->replaceField( 'LocationID', DropdownField::create('LocationID', $locationField->Title(), ContactLocation::get()->map()) ); return $fields; } } |