Skip to content

Commit

Permalink
Fix the Access control in the WMS groups
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrunner committed Aug 8, 2018
1 parent 5e1184a commit cbf5569
Show file tree
Hide file tree
Showing 2 changed files with 232 additions and 16 deletions.
34 changes: 18 additions & 16 deletions src/server/services/wms/qgswmsrenderer.cpp
Expand Up @@ -330,18 +330,16 @@ namespace QgsWms
bool updateMapExtent = mWmsParameters.bbox().isEmpty();
Q_FOREACH ( QgsMapLayer *layer, layers )
{
checkLayerReadPermissions( layer );

Q_FOREACH ( QgsWmsParametersLayer param, params )
{
if ( param.mNickname == layerNickname( *layer ) )
{
checkLayerReadPermissions( layer );

setLayerOpacity( layer, param.mOpacity );

setLayerFilter( layer, param.mFilter );

setLayerAccessControlFilter( layer );

setLayerSelection( layer, param.mSelection );

if ( updateMapExtent )
Expand All @@ -350,6 +348,8 @@ namespace QgsWms
break;
}
}

setLayerAccessControlFilter( layer );
}

// add highlight layers above others
Expand Down Expand Up @@ -679,18 +679,16 @@ namespace QgsWms
bool updateMapExtent = mWmsParameters.bbox().isEmpty();
Q_FOREACH ( QgsMapLayer *layer, layers )
{
checkLayerReadPermissions( layer );

Q_FOREACH ( QgsWmsParametersLayer param, params )
{
if ( param.mNickname == layerNickname( *layer ) )
{
checkLayerReadPermissions( layer );

setLayerOpacity( layer, param.mOpacity );

setLayerFilter( layer, param.mFilter );

setLayerAccessControlFilter( layer );

setLayerSelection( layer, param.mSelection );

if ( updateMapExtent )
Expand All @@ -699,6 +697,8 @@ namespace QgsWms
break;
}
}

setLayerAccessControlFilter( layer );
}

// add highlight layers above others
Expand Down Expand Up @@ -781,21 +781,23 @@ namespace QgsWms
continue;
if ( !wfsLayerIds.contains( layer->id() ) )
continue;

checkLayerReadPermissions( layer );

Q_FOREACH ( QgsWmsParametersLayer param, params )
{
if ( param.mNickname == layerNickname( *layer ) )
{
checkLayerReadPermissions( layer );

setLayerOpacity( layer, param.mOpacity );

setLayerFilter( layer, param.mFilter );

setLayerAccessControlFilter( layer );

break;
}
}

setLayerAccessControlFilter( layer );

// cast for dxf layers
QgsVectorLayer *vlayer = static_cast<QgsVectorLayer *>( layer );

Expand Down Expand Up @@ -951,19 +953,19 @@ namespace QgsWms

Q_FOREACH ( QgsMapLayer *layer, layers )
{
checkLayerReadPermissions( layer );

Q_FOREACH ( QgsWmsParametersLayer param, params )
{
if ( param.mNickname == layerNickname( *layer ) )
{
checkLayerReadPermissions( layer );

setLayerFilter( layer, param.mFilter );

setLayerAccessControlFilter( layer );

break;
}
}

setLayerAccessControlFilter( layer );
}

// add layers to map settings (revert order for the rendering)
Expand Down

0 comments on commit cbf5569

Please sign in to comment.