Skip to content

Commit

Permalink
Handle compatibility parameter GROUP_FIELD
Browse files Browse the repository at this point in the history
  • Loading branch information
uclaros authored and nyalldawson committed Jan 18, 2021
1 parent b0d0838 commit a0b8e24
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/analysis/processing/qgsalgorithmpointstopaths.cpp
Expand Up @@ -81,6 +81,10 @@ void QgsPointsToPathsAlgorithm::initAlgorithm( const QVariantMap & )
QObject::tr( "Order field" ), QVariant(), QString(), QgsProcessingParameterField::Any, false, true );
orderField->setFlags( orderField->flags() | QgsProcessingParameterDefinition::FlagHidden );
addParameter( orderField );
QgsProcessingParameterField *groupField = new QgsProcessingParameterField( QStringLiteral( "GROUP_FIELD" ),
QObject::tr( "Group field" ), QVariant(), QString(), QgsProcessingParameterField::Any, false, true );
groupField->setFlags( orderField->flags() | QgsProcessingParameterDefinition::FlagHidden );
addParameter( groupField );
QgsProcessingParameterString *dateFormat = new QgsProcessingParameterString( QStringLiteral( "DATE_FORMAT" ),
QObject::tr( "Date format (if order field is DateTime)" ), QVariant(), false, true );
dateFormat->setFlags( orderField->flags() | QgsProcessingParameterDefinition::FlagHidden );
Expand All @@ -101,7 +105,7 @@ QVariantMap QgsPointsToPathsAlgorithm::processAlgorithm( const QVariantMap &para
const bool closePaths = parameterAsBool( parameters, QStringLiteral( "CLOSE_PATH" ), context );

QString orderExpressionString = parameterAsString( parameters, QStringLiteral( "ORDER_EXPRESSION" ), context );
QString orderFieldString = parameterAsString( parameters, QStringLiteral( "ORDER_FIELD" ), context );
const QString orderFieldString = parameterAsString( parameters, QStringLiteral( "ORDER_FIELD" ), context );
if ( ! orderFieldString.isEmpty() )
{
// this is a backwards compatibility parameter
Expand Down Expand Up @@ -166,7 +170,12 @@ QVariantMap QgsPointsToPathsAlgorithm::processAlgorithm( const QVariantMap &para
}


const QString groupExpressionString = parameterAsString( parameters, QStringLiteral( "GROUP_EXPRESSION" ), context );
QString groupExpressionString = parameterAsString( parameters, QStringLiteral( "GROUP_EXPRESSION" ), context );
// handle backwards compatibility parameter GROUP_FIELD
const QString groupFieldString = parameterAsString( parameters, QStringLiteral( "GROUP_FIELD" ), context );
if ( ! groupFieldString.isEmpty() )
groupExpressionString = QgsExpression::quotedColumnRef( groupFieldString );

QgsExpression groupExpression = groupExpressionString.isEmpty() ? QgsExpression( QString( "true" ) ) : QgsExpression( groupExpressionString );
if ( groupExpression.hasParserError() )
throw QgsProcessingException( groupExpression.parserErrorString() );
Expand Down

0 comments on commit a0b8e24

Please sign in to comment.