static class QueryRuntimeFilterFactory.ChildFilter extends java.lang.Object implements QueryRuntimeFilter
BasicItem
:s to replace
the QueryRuntimeFilterFactory.BasicFilter
. This filter checks if the logged in user has
generic permission EntityQuery.getItemPermission()
for a parent item,
instead of the actual item returned by a query. In a parent/child relationship it is the
permissions on the parent item that controls the permission on the child.
For example, Client
is the parent of Help
.
If the logged in user doesn't have the requested permission on the parent
item, the denyAll
filter is enabled.
Modifier and Type | Field and Description |
---|---|
private Item |
child
The item type of the child item.
|
private Item |
parent
The item type of the parent item.
|
Constructor and Description |
---|
ChildFilter(Item child,
Item parent)
Create a new
ChildFilter object. |
Modifier and Type | Method and Description |
---|---|
void |
enableFilters(QueryRuntimeFilterManager manager,
EntityQuery query,
DbControl dc)
Enable the filters based on the options specified by the query and
the logged in users permissions.
|
private final Item child
private final Item parent
public void enableFilters(QueryRuntimeFilterManager manager, EntityQuery query, DbControl dc)
QueryRuntimeFilter
HibernateUtil.enableFilter()
method. The manager keeps track of already enabled filters and
also takes care of disabling all filters after the query has been
executed.enableFilters
in interface QueryRuntimeFilter
manager
- A manager that is used to actually enabled the filterquery
- The query that is going to be executed, it is not possible
to modify the query, the actual HQL may already have been generateddc
- The DbControl
used for database access and
permission checking