Source of file SectionsBanner.php
Size: 3,665 Bytes - Last Modified: 2021-12-23T10:10:42+00:00
/var/www/docs.ssmods.com/process/src/code/models/SectionsBanner.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 | <?php /** * * * @package silverstripe * @subpackage sections */ class SectionsBanner extends DataObject { /** * Singular name for CMS * @var string */ private static $singular_name = 'Banner'; /** * Plural name for CMS * @var string */ private static $plural_name = 'Banners'; /** * Database fields * @var array */ private static $db = array( "AdminTitle" => "Varchar(50)", "Status" => "Boolean", "Title" => "Varchar(100)", "Content" => "Text", ); /** * Has_one relationship * @var array */ private static $has_one = array( "Image" => "Image" ); /** * Many_many relationship * @var array */ private static $many_many = array( "Links" => "Link" ); /** * {@inheritdoc } * @var array */ private static $many_many_extraFields = array( 'Links' => array( 'Sort' => 'Int' ) ); private static $summary_fields = array( "Image.CMSThumbnail" => "Image", "AdminTitle" => "Title", "NiceStatus" => "Status" ); /** * CMS Fields * @return FieldList */ public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldsToTab( "Root.Main", array( OptionsetField::create( 'Status', 'Status', array( "1" => "Active", "0" => "Disabled" ), 1 ), TextField::create( 'AdminTitle' ) ->setDescription('This field is for adminisration use only and will not display on the site.'), TextareaField::create( 'Title', 'Title' ) ->setRows(2), TextareaField::create( 'Content', 'Content' ), UploadField::create( 'Image', 'Image' )->setFolderName('Banner') ) ); $linksGridConfig = GridFieldConfig_RelationEditor::create(); if ($this->Links()->Count() > 0) { $linksGridConfig->addComponent(new GridFieldOrderableRows()); } $fields->addFieldToTab( 'Root.Links', GridField::create( 'Links', 'Link(s)', $this->Links(), $linksGridConfig ) ); $this->extend('updateCMSFields', $fields); return $fields; } /** * Viewing Permissions * @return boolean */ public function canView($member = null) { return Permission::check('EDIT_SECTIONS', 'any', $member); } /** * Editing Permissions * @return boolean */ public function canEdit($member = null) { return Permission::check('EDIT_SECTIONS', 'any', $member); } /** * Deleting Permissions * @return boolean */ public function canDelete($member = null) { return Permission::check('EDIT_SECTIONS', 'any', $member); } /** * Creating Permissions * @return boolean */ public function canCreate($member = null) { return Permission::check('EDIT_SECTIONS', 'any', $member); } public function getNiceStatus() { return ($this->Status == 1 ? "Active" : "Disabled"); } } |