QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
|
A helper class that centralizes restrictions given by all the access control filter plugins. More...
#include <qgsaccesscontrol.h>
Public Member Functions | |
QgsAccessControl () | |
Constructor. More... | |
QgsAccessControl (const QgsAccessControl ©) | |
Constructor. More... | |
~QgsAccessControl () override | |
bool | allowToEdit (const QgsVectorLayer *layer, const QgsFeature &feature) const |
Are we authorized to modify the following geometry. More... | |
QgsFeatureFilterProvider * | clone () const override |
Returns a clone of the object. More... | |
QString | extraSubsetString (const QgsVectorLayer *layer) const |
Returns an additional subset string (typically SQL) filter. More... | |
bool | fillCacheKey (QStringList &cacheKey) const |
Fill the capabilities caching key. More... | |
void | filterFeatures (const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures) const override |
Filter the features of the layer. More... | |
QStringList | layerAttributes (const QgsVectorLayer *layer, const QStringList &attributes) const override |
Returns the authorized layer attributes. More... | |
bool | layerDeletePermission (const QgsVectorLayer *layer) const |
Returns the layer delete right. More... | |
bool | layerInsertPermission (const QgsVectorLayer *layer) const |
Returns the layer insert right. More... | |
bool | layerReadPermission (const QgsMapLayer *layer) const |
Returns the layer read right. More... | |
bool | layerUpdatePermission (const QgsVectorLayer *layer) const |
Returns the layer update right. More... | |
QgsAccessControl & | operator= (const QgsAccessControl &other) |
Assignment operator. More... | |
void | registerAccessControl (QgsAccessControlFilter *accessControl, int priority=0) |
Register an access control filter. More... | |
void | resolveFilterFeatures (const QList< QgsMapLayer * > &layers) |
Resolve features' filter of layers The method fetch filter's expressions returned from access control plugins and and combine them to a unique expression for each layer. More... | |
void | unresolveFilterFeatures () |
Clear expression's cache computed from resolveFilterFeatures More... | |
Public Member Functions inherited from QgsFeatureFilterProvider | |
QgsFeatureFilterProvider ()=default | |
Constructor. More... | |
virtual | ~QgsFeatureFilterProvider ()=default |
virtual QgsFeatureFilterProvider * | clone () const =0 |
Create a clone of the feature filter provider. More... | |
virtual void | filterFeatures (const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest) const =0 |
Add additional filters to the feature request to further restrict the features returned by the request. More... | |
virtual QStringList | layerAttributes (const QgsVectorLayer *layer, const QStringList &attributes) const =0 |
Returns the list of visible attribute names from a list of attributes names for the given layer. More... | |
A helper class that centralizes restrictions given by all the access control filter plugins.
Definition at line 36 of file qgsaccesscontrol.h.
|
inline |
Constructor.
Definition at line 44 of file qgsaccesscontrol.h.
|
inline |
Constructor.
Definition at line 51 of file qgsaccesscontrol.h.
|
inlineoverride |
Definition at line 59 of file qgsaccesscontrol.h.
bool QgsAccessControl::allowToEdit | ( | const QgsVectorLayer * | layer, |
const QgsFeature & | feature | ||
) | const |
Are we authorized to modify the following geometry.
layer | the layer to control |
feature | the concerned feature |
true
if we are allowed to edit the feature Definition at line 180 of file qgsaccesscontrol.cpp.
|
overridevirtual |
Returns a clone of the object.
Clone the object.
Implements QgsFeatureFilterProvider.
Definition at line 90 of file qgsaccesscontrol.cpp.
QString QgsAccessControl::extraSubsetString | ( | const QgsVectorLayer * | layer | ) | const |
Returns an additional subset string (typically SQL) filter.
layer | the layer to control |
Definition at line 96 of file qgsaccesscontrol.cpp.
bool QgsAccessControl::fillCacheKey | ( | QStringList & | cacheKey | ) | const |
Fill the capabilities caching key.
cacheKey | the list to fill with a cache variant |
Definition at line 194 of file qgsaccesscontrol.cpp.
|
overridevirtual |
Filter the features of the layer.
layer | the layer to control |
filterFeatures | the request to fill |
Implements QgsFeatureFilterProvider.
Definition at line 69 of file qgsaccesscontrol.cpp.
|
overridevirtual |
Returns the authorized layer attributes.
layer | the layer to control |
attributes | the list of attribute |
Implements QgsFeatureFilterProvider.
Definition at line 168 of file qgsaccesscontrol.cpp.
bool QgsAccessControl::layerDeletePermission | ( | const QgsVectorLayer * | layer | ) | const |
Returns the layer delete right.
layer | the layer to control |
true
if we can do a delete Definition at line 154 of file qgsaccesscontrol.cpp.
bool QgsAccessControl::layerInsertPermission | ( | const QgsVectorLayer * | layer | ) | const |
Returns the layer insert right.
layer | the layer to control |
true
if we can insert on it Definition at line 126 of file qgsaccesscontrol.cpp.
bool QgsAccessControl::layerReadPermission | ( | const QgsMapLayer * | layer | ) | const |
Returns the layer read right.
layer | the layer to control |
true
if it can be read Definition at line 112 of file qgsaccesscontrol.cpp.
bool QgsAccessControl::layerUpdatePermission | ( | const QgsVectorLayer * | layer | ) | const |
Returns the layer update right.
layer | the layer to control |
true
if we can do an update Definition at line 140 of file qgsaccesscontrol.cpp.
|
inline |
Assignment operator.
Definition at line 65 of file qgsaccesscontrol.h.
void QgsAccessControl::registerAccessControl | ( | QgsAccessControlFilter * | accessControl, |
int | priority = 0 |
||
) |
Register an access control filter.
Register a new access control filter.
accessControl | the access control to add |
priority | the priority used to define the order |
Definition at line 210 of file qgsaccesscontrol.cpp.
void QgsAccessControl::resolveFilterFeatures | ( | const QList< QgsMapLayer * > & | layers | ) |
Resolve features' filter of layers The method fetch filter's expressions returned from access control plugins and and combine them to a unique expression for each layer.
The resulted expressions are stored in cache for efficiency; between each requests, the cache must be cleared using 'unresolveFilterFeatures()'.
layers | to filter |
Definition at line 24 of file qgsaccesscontrol.cpp.
void QgsAccessControl::unresolveFilterFeatures | ( | ) |
Clear expression's cache computed from resolveFilterFeatures
Clear feature's filter of layers.
Definition at line 62 of file qgsaccesscontrol.cpp.