Source of file ProductsAndGroupsModelAdmin.php
Size: 2,413 Bytes - Last Modified: 2021-12-23T10:39:35+00:00
/var/www/docs.ssmods.com/process/src/src/Cms/ProductsAndGroupsModelAdmin.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | <?php namespace Sunnysideup\Ecommerce\Cms; use SilverStripe\Admin\ModelAdmin; use SilverStripe\CMS\Model\SiteTree; use SilverStripe\Forms\GridField\GridField; use SilverStripe\Forms\GridField\GridFieldExportButton; use Sunnysideup\Ecommerce\Forms\Gridfield\Configs\GridFieldEditOriginalPageConfig; use Sunnysideup\Ecommerce\Pages\Product; use Sunnysideup\Ecommerce\Pages\ProductGroup; use Sunnysideup\Ecommerce\Traits\EcommerceModelAdminTrait; /** * @description: for the management of Product and Product Groups only * * @authors: Nicolaas [at] Sunny Side Up .co.nz * @package: ecommerce * @sub-package: cms */ class ProductsAndGroupsModelAdmin extends ModelAdmin { use EcommerceModelAdminTrait; private static $menu_priority = 3.2; /** * standard SS variable. * * @var string */ private static $url_segment = 'products'; /** * standard SS variable. * * @var string */ private static $menu_title = 'Products'; /** * standard SS variable. * * @var array */ private static $managed_models = [ Product::class, ProductGroup::class, ]; private static $allowed_actions = [ 'editinsitetree', 'ItemEditForm', ]; /** * standard SS variable. * * @var string */ private static $required_permission_codes = 'CMS_ACCESS_ProductsAndGroupsModelAdmin'; /** * standard SS variable. * * @var string */ private static $menu_icon = 'vendor/sunnysideup/ecommerce/client/images/icons/product-file.gif'; public function getEditForm($id = null, $fields = null) { $form = parent::getEditForm(); if (is_subclass_of($this->modelClass, SiteTree::class) || SiteTree::class === $this->modelClass) { $gridField = $form->Fields()->dataFieldByName($this->sanitiseClassName($this->modelClass)); if ($gridField) { if ($gridField instanceof GridField) { $config = GridFieldEditOriginalPageConfig::create(); $exportButton = new GridFieldExportButton('buttons-before-left'); $exportButton->setExportColumns($this->getExportFields()); $config->addComponent($exportButton); $gridField->setConfig($config); } } } return $form; } } |