Source of file AccordionPanel.php
Size: 2,582 Bytes - Last Modified: 2018-05-17T11:11:34+00:00
/var/www/docs.ssmods.com/process/src/src/Model/AccordionPanel.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 | <?php namespace Dynamic\Elements\Accordion\Model; use DNADesign\Elemental\Forms\TextCheckboxGroupField; use Dynamic\BaseObject\Model\BaseElementObject; use Dynamic\Elements\Accordion\Elements\ElementAccordion; use Sheadawson\Linkable\Forms\LinkField; use Sheadawson\Linkable\Models\Link; use SilverStripe\Assets\Image; use SilverStripe\Forms\CheckboxField; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\TextField; use SilverStripe\ORM\DataObject; use SilverStripe\Security\Member; use SilverStripe\Security\Permission; /** * Class AccordionPanel * @package Dynamic\Elements\Accordion\Model * * @property int $Sort * * @property int AccordionID * @method ElementAccordion Accordion() */ class AccordionPanel extends BaseElementObject { /** * @var string */ private static $singular_name = 'Accordion Panel'; /** * @var string */ private static $plural_name = 'Accordion Panels'; /** * @var string */ private static $description = 'A panel for a Accordion widget'; /** * @var array */ private static $db = [ 'Sort' => 'Int', ]; /** * @var array */ private static $has_one = [ 'Accordion' => ElementAccordion::class, ]; /** * @var array Related objects to be published recursively on AccordionPanel::publishRecursively() */ private static $owns = [ 'Image', ]; /** * @var array Show the panel $Title by default */ private static $defaults = [ 'ShowTitle' => true, ]; /** * @var string */ private static $default_sort = 'Sort'; /** * @var string Database table name, default's to the fully qualified name */ private static $table_name = 'AccordionPanel'; /** * @return FieldList * * @throws \Exception */ public function getCMSFields() { $this->beforeUpdateCMSFields(function ($fields) { /** @var FieldList $fields */ $fields->removeByName([ 'Sort', 'AccordionID', ]); $fields->dataFieldByName('Image') ->setFolderName('Uploads/Elements/Accordions'); }); return parent::getCMSFields(); } /** * @return null */ public function getPage() { $page = null; if ($this->AccordionID) { if ($this->Accordion()->hasMethod('getPage')) { $page = $this->Accordion()->getPage(); } } return $page; } } |