Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Fix dual field logic
  • Loading branch information
nyalldawson committed May 8, 2020
1 parent f8a1f37 commit 505a011
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
8 changes: 4 additions & 4 deletions src/core/qgsvectorlayertemporalproperties.cpp
Expand Up @@ -194,11 +194,11 @@ QString QgsVectorLayerTemporalProperties::createFilterString( QgsVectorLayer *,

case ModeFeatureDateTimeStartAndEndFromFields:
return QStringLiteral( "%1 %2 %3 AND %4 %5 %6" ).arg( QgsExpression::quotedColumnRef( mStartFieldName ),
range.includeBeginning() ? QStringLiteral( ">=" ) : QStringLiteral( ">" ),
dateTimeExpressionLiteral( range.begin() ),
QgsExpression::quotedColumnRef( mEndFieldName ),
range.includeEnd() ? QStringLiteral( "<=" ) : QStringLiteral( "<" ),
dateTimeExpressionLiteral( range.end() ) );
dateTimeExpressionLiteral( range.end() ),
QgsExpression::quotedColumnRef( mEndFieldName ),
range.includeBeginning() ? QStringLiteral( ">=" ) : QStringLiteral( ">" ),
dateTimeExpressionLiteral( range.begin() ) );
}

return QString();
Expand Down
6 changes: 3 additions & 3 deletions tests/src/python/test_qgsvectorlayertemporalproperties.py
Expand Up @@ -101,13 +101,13 @@ def testDualFieldMode(self):
self.assertFalse(props.createFilterString(layer, range))

props.setIsActive(True)
self.assertEqual(props.createFilterString(layer, range), '"start_field" >= make_datetime(2019,3,4,11,12,13) AND "end_field" <= make_datetime(2020,5,6,8,9,10)')
self.assertEqual(props.createFilterString(layer, range), '"start_field" <= make_datetime(2020,5,6,8,9,10) AND "end_field" >= make_datetime(2019,3,4,11,12,13)')

range = QgsDateTimeRange(QDateTime(QDate(2019, 3, 4), QTime(11, 12, 13)), QDateTime(QDate(2020, 5, 6), QTime(8, 9, 10)), includeBeginning=False)
self.assertEqual(props.createFilterString(layer, range), '"start_field" > make_datetime(2019,3,4,11,12,13) AND "end_field" <= make_datetime(2020,5,6,8,9,10)')
self.assertEqual(props.createFilterString(layer, range), '"start_field" <= make_datetime(2020,5,6,8,9,10) AND "end_field" > make_datetime(2019,3,4,11,12,13)')

range = QgsDateTimeRange(QDateTime(QDate(2019, 3, 4), QTime(11, 12, 13)), QDateTime(QDate(2020, 5, 6), QTime(8, 9, 10)), includeEnd=False)
self.assertEqual(props.createFilterString(layer, range), '"start_field" >= make_datetime(2019,3,4,11,12,13) AND "end_field" < make_datetime(2020,5,6,8,9,10)')
self.assertEqual(props.createFilterString(layer, range), '"start_field" < make_datetime(2020,5,6,8,9,10) AND "end_field" >= make_datetime(2019,3,4,11,12,13)')


if __name__ == '__main__':
Expand Down

0 comments on commit 505a011

Please sign in to comment.