BlogPostFilter
class BlogPostFilter extends Extension (View source)
This is responsible for filtering only published posts to users who do not have permission to view non-published posts.
Properties
protected | T | $owner | The object this extension is applied to. |
from Extension |
Methods
Called when this extension is added to a particular class
Temporarily modify the owner. The original owner is ensured to be restored
Clear the current owner, and restore extension to the state prior to the last setOwner()
Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().
Invoke extension point. This will prefer explicit extend
prefixed
methods.
Augment queries so that we don't fetch unpublished articles.
{@inheritDoc}
Details
__construct()
No description
static
add_to_class(string $class, string $extensionClass, mixed $args = null)
Called when this extension is added to a particular class
setOwner(object $owner)
Set the owner of this extension.
mixed
withOwner(mixed $owner, callable $callback, array $args = [])
Temporarily modify the owner. The original owner is ensured to be restored
clearOwner()
Clear the current owner, and restore extension to the state prior to the last setOwner()
T
getOwner()
Returns the owner of this extension.
static string
get_classname_without_arguments(string $extensionStr)
Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().
mixed
invokeExtension(object $owner, string $method, array ...$arguments)
Invoke extension point. This will prefer explicit extend
prefixed
methods.
protected
augmentSQL(SQLSelect $query, DataQuery|null $dataQuery = null)
Augment queries so that we don't fetch unpublished articles.
protected
augmentLoadLazyFields(SQLSelect $query, DataQuery|null $dataQuery, DataObject $dataObject)
{@inheritDoc}
This is a fix so that when we try to fetch subclasses of BlogPost, lazy loading includes the BlogPost table in its query. Leaving this table out means the default sort order column PublishDate causes an error.