Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add a layoutParameter method to search in unmanaged parameters
  • Loading branch information
pblottiere committed Jul 23, 2018
1 parent aae9fec commit 683975c
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 7 deletions.
1 change: 1 addition & 0 deletions python/server/auto_generated/qgsserverparameters.sip.in
Expand Up @@ -197,6 +197,7 @@ defined.
protected:
virtual bool loadParameter( const QPair<QString, QString> &item );


};

/************************************************************************
Expand Down
3 changes: 2 additions & 1 deletion src/server/qgsserverparameters.h
Expand Up @@ -181,12 +181,13 @@ class SERVER_EXPORT QgsServerParameters
protected:
virtual bool loadParameter( const QPair<QString, QString> &item );

QMap<QString, QString> mUnmanagedParameters;

private:
void save( const QgsServerParameter &parameter );
QVariant value( QgsServerParameter::Name name ) const;

QMap<QgsServerParameter::Name, QgsServerParameter> mParameters;
QMap<QString, QString> mUnmanagedParameters;
};

#endif
14 changes: 14 additions & 0 deletions src/server/services/wms/qgswmsparameters.cpp
Expand Up @@ -1031,6 +1031,20 @@ namespace QgsWms
return settings;
}

QString QgsWmsParameters::layoutParameter( const QString &id, bool &ok ) const
{
QString label;
ok = false;

if ( mUnmanagedParameters.contains( id.toUpper() ) )
{
label = mUnmanagedParameters[id.toUpper()];
ok = true;
}

return label;
}

QStringList QgsWmsParameters::highlightLabelString() const
{
return mWmsParameters[ QgsWmsParameter::HIGHLIGHT_LABELSTRING ].toStringList( ';' );
Expand Down
2 changes: 2 additions & 0 deletions src/server/services/wms/qgswmsparameters.h
Expand Up @@ -973,6 +973,8 @@ namespace QgsWms

QString wmtver() const;

QString layoutParameter( const QString &id, bool &ok ) const;

private:
bool loadParameter( const QPair<QString, QString> &parameter ) override;

Expand Down
17 changes: 11 additions & 6 deletions src/server/services/wms/qgswmsrenderer.cpp
Expand Up @@ -525,11 +525,13 @@ namespace QgsWms
c->layoutItems<QgsLayoutItemLabel>( labels );
for ( const auto &label : qgis::as_const( labels ) )
{
QString labelId = label->id().toUpper();
if ( !mParameters.contains( labelId ) )
bool ok = false;
const QString labelId = label->id();
const QString labelParam = mWmsParameters.layoutParameter( labelId, ok );

if ( !ok )
continue;

QString labelParam = mParameters[ labelId ];
if ( labelParam.isEmpty() )
{
//remove exported labels referenced in the request
Expand All @@ -549,15 +551,18 @@ namespace QgsWms
{
if ( html->frameCount() == 0 )
continue;

QgsLayoutFrame *htmlFrame = html->frame( 0 );
QString htmlId = htmlFrame->id().toUpper();
if ( !mParameters.contains( htmlId ) )
bool ok = false;
const QString htmlId = htmlFrame->id();
const QString url = mWmsParameters.layoutParameter( htmlId, ok );

if ( !ok )
{
html->update();
continue;
}

QString url = mParameters[ htmlId ];
//remove exported Htmls referenced in the request
//but with empty string
if ( url.isEmpty() )
Expand Down

0 comments on commit 683975c

Please sign in to comment.