Source of file Payment_DeliveryAdmin_Extension.php
Size: 5,087 Bytes - Last Modified: 2021-12-23T10:20:04+00:00
/var/www/docs.ssmods.com/process/src/src/Extensions/Payment_DeliveryAdmin_Extension.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 | <?php namespace Schrattenholz\Payment; use SilverStripe\Core\Extension; use Schrattenholz\Order\OrderConfig; use Schrattenholz\Order\Unit; use Schrattenholz\Order\Ingredient; use Schrattenholz\Order\Addon; use SilverStripe\Forms\DateField; use SilverStripe\Forms\TextField; use SilverStripe\Forms\DropdownField; use Terraformers\RichFilterHeader\Form\GridField\RichFilterHeader; use SilverStripe\Forms\Form; use SilverStripe\Core\Injector\Injector; use Psr\Log\LoggerInterface; use Symbiote\GridFieldExtensions\GridFieldAddNewMultiClass; use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor; use SilverStripe\Forms\GridField\GridFieldConfig; use SilverStripe\Forms\GridField\GridFieldConfig_RelationEditor; use SilverStripe\Forms\GridField\GridFieldButtonRow; use SilverStripe\Forms\GridField\GridFieldToolbarHeader; use SilverStripe\Forms\GridField\GridFieldDeleteAction; use SilverStripe\Forms\GridField\GridFieldDataColumns; use SilverStripe\Forms\GridField\GridFieldEditButton; use SilverStripe\Forms\GridField\GridFieldDetailForm; use SilverStripe\Forms\GridField\GridFieldSortableHeader; use SilverStripe\Forms\GridField\GridFieldPaginator; use SilverStripe\Forms\GridField\GridFieldFilterHeader; use Symbiote\GridFieldExtensions\GridFieldEditableColumns; use Symbiote\GridFieldExtensions\GridFieldOrderableRows; class Payment_DeliveryAdmin_Extension extends Extension { private static $managed_models = [ PaymentMethod::class ]; public function updateEditForm(&$form) { //$form = parent::getEditForm($id, $fields); $gridField = $form->Fields()->fieldByName('Schrattenholz-Payment-PaymentMethod'); if($gridField) { Injector::inst()->get(LoggerInterface::class)->error('-----------------____-----_____ Schrattenholz-Payment-PaymentMethod'); $useExtendedConfig=true; $config = $gridField->getConfig(); /*$config->addComponent(new GridFieldButtonRow('before')) ->addComponent(new GridFieldDataColumns) //->addComponent(new GridFieldDeleteAction()) ->addComponent(new GridFieldEditButton()) ->addComponent(new GridFieldDetailForm()) ->addComponent(new GridFieldSortableHeader()) ->addComponent(new GridFieldFilterHeader()) ->addComponent(new GridFieldPaginator()) //->addComponent(new GridFieldOrderableRows('SortID')) ;*/ $multiClassConfig = new GridFieldAddNewMultiClass(); $multiClassConfig->setClasses( array( 'Schrattenholz\Payment\PaymentMethod_Collection', 'Schrattenholz\Payment\PaymentMethod_SEPA', ) ); $config->addComponent($multiClassConfig); $config->removeComponentsByType('GridFieldAddNewButton'); /* $dataColumns=$config->getComponentByType(GridFieldDataColumns::class); $dataColumns->setFieldCasting([ "Created"=>"Date->Nice", "ShippingDate"=>"Date->Nice" ]); $config->removeComponentsByType(GridFieldFilterHeader::class); $filter = new RichFilterHeader(); $filter->setFilterConfig([ 'Created' => [ 'title' => 'Created', 'filter' => 'GreaterThanOrEqualFilter', ], 'ShippingDate' => [ 'title' => 'ShippingDate', 'filter' => 'PartialMatchFilter', ], 'DeliveryType.Title'=>[ 'title'=>'DeliveryType.Title', 'filter'=>'PartialMatchFilter' ], 'ClientContainer.PhoneNumber' => [ 'title'=>'ClientContainer.PhoneNumber', 'filter'=>'PartialMatchFilter', ], 'ClientContainer.Surname' => [ 'title'=>'ClientContainer.Surname', 'filter'=>'PartialMatchFilter', ], 'ClientContainer.Email' => [ 'title'=>'ClientContainer.Email', 'filter'=>'PartialMatchFilter', ], 'OrderStatus'=>[ 'title'=>'OrderStatus', 'filter'=>'ExactMatchFilter' ], 'CollectionDay.Day'=>[ 'title'=>'CollectionDay.Day', 'filter'=>'ExactMatchFilter' ], 'Route.Title'=>[ 'title'=>'Route.Title', 'filter'=>'ExactMatchFilter' ] ]) ->setFilterFields([ 'Created' => DateField::create('', ''), 'ShippingDate' => DateField::create('', ''), 'ClientContainer.FirstName' => TextField::create(""), 'ClientContainer.Surname' => TextField::create(""), 'DeliveryType.Title' => TextField::create(""), 'OrderStatus' => $orderStatus = DropdownField::create( '', '', singleton('Schrattenholz\OrderProfileFeature\OrderProfileFeature_ClientOrder')->dbObject('OrderStatus')->enumValues() ), 'CollectionDay.Day' => $collectionDay = DropdownField::create( '', '', singleton('Schrattenholz\Delivery\CollectionDay')->dbObject('Day')->enumValues() ), 'Route.Title' => $route = DropdownField::create( '', '', Route::get()->map('Title', 'Title') ) ]); $orderStatus->setHasEmptyDefault(true); $collectionDay->setHasEmptyDefault(true); $route->setHasEmptyDefault(true); $config->addComponent($filter, GridFieldPaginator::class); */ } return $form; } } ?> |