Source of file FluentReadVersionsExtension.php
Size: 1,332 Bytes - Last Modified: 2021-12-23T10:53:31+00:00
/var/www/docs.ssmods.com/process/src/src/Extension/FluentReadVersionsExtension.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445 | <?php namespace TractorCow\Fluent\Extension; use SilverStripe\Core\Extension; use SilverStripe\Core\Injector\Injector; use SilverStripe\ORM\DataList; use SilverStripe\ORM\DataObject; use SilverStripe\Versioned\GraphQL\Operations\ReadVersions; use TractorCow\Fluent\State\FluentState; /** * Available since SilverStripe 4.3.x * * @property ReadVersions $owner */ class FluentReadVersionsExtension extends Extension { /** * Set a filter on the current locale in SourceLocale alias field. This field is added by * FluentExtension::augmentSQL, and this list is used in the history viewer via a GraphQL query. * * @param DataList &$list */ public function updateList(DataList &$list) { /** @var DataObject $singleton */ $singleton = Injector::inst()->get($list->dataClass()); $locale = $list->dataQuery()->getQueryParam('Fluent.Locale') ?: FluentState::singleton()->getLocale(); if (!$singleton->hasExtension(FluentExtension::class) || !$singleton->hasField('SourceLocale') || !$locale ) { return; } $locale = FluentState::singleton()->getLocale(); $query = $list->dataQuery(); $query->having(['"SourceLocale" = ?' => $locale]); $list = $list->setDataQuery($query); } } |