Source of file YearCalendarAdmin.php
Size: 2,108 Bytes - Last Modified: 2021-12-23T10:04:07+00:00
/var/www/docs.ssmods.com/process/src/code/admin/YearCalendarAdmin.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | <?php class YearCalendarAdmin extends ModelAdmin { /** * @inheritdoc */ private static $managed_models = [ 'YearCalendarItem', 'YearCalendarItemTag', 'YearCalendarImport', ]; /** * @inheritdoc */ private static $url_segment = 'yearcalendar'; /** * @inheritdoc */ private static $menu_title = 'Year Calendar'; /** * @inheritdoc */ private static $menu_icon = 'yearcalendar/images/calendar-icon.png'; /** * @inheritdoc */ public function getEditForm($id = null, $fields = null) { $form = parent::getEditForm($id, $fields); /** @var GridField $listfield */ $listfield = $form->Fields() ->fieldByName($this->modelClass); if ($this->modelClass == 'YearCalendarItem') { /** @var GridFieldConfig $config */ $config = $listfield->getConfig(); $config->removeComponentsByType('GridFieldExportButton'); $config->addComponent(new GridFieldXLSXExportButton('buttons-before-left')); $config->addComponent(new GridFieldPurgeYearCalendarButton('buttons-before-left')); $config->addComponent(new GridFieldFilterHeader()); $config->getComponentByType('GridFieldPaginator')->setItemsPerPage(Config::inst()->get('YearCalendarAdmin', 'itemsPerPage')); } if ($this->modelClass == 'YearCalendarItemTag') { $listfield->getConfig() ->addComponent($sort = new GridFieldOrderableRows('SortOrder')); } $listfield->getConfig() ->removeComponentsByType('GridFieldPaginator') ->addComponent($pagination = new GridFieldPaginator(500)); $pagination->setThrowExceptionOnBadDataType(false); $this->extend('modifyEditForm', $form); return $form; } /** * @inheritdoc */ public function getManagedModels() { $models = parent::getManagedModels(); $this->extend('modifyManagedModels', $models); return $models; } } |