@@ -868,30 +868,6 @@ def virtualFields(params: Dict[str, str], response: QgsServerResponse, project:
868
868
869
869
req = QgsFeatureRequest ()
870
870
871
- # set limit
872
- req_limit = params .get ('LIMIT' , '-1' )
873
- try :
874
- req .setLimit (int (req_limit ))
875
- except ValueError :
876
- raise ExpressionServiceError (
877
- "Bad request error" ,
878
- f"Invalid LIMIT for 'VirtualFields': \" { req_limit } \" " ,
879
- 400 )
880
-
881
- # set orderby
882
- req_sorting_order_param = params .get ('SORTING_ORDER' , '' )
883
-
884
- if req_sorting_order_param in ('asc' , 'desc' ):
885
- # QGIS expects a boolean to know how to sort
886
- req_sorting_field = params .get ('SORTING_FIELD' , '' )
887
- order_by_clause = QgsFeatureRequest .OrderByClause (req_sorting_field , req_sorting_order_param == 'asc' )
888
- req .setOrderBy (QgsFeatureRequest .OrderBy ([order_by_clause ]))
889
- elif req_sorting_order_param != '' :
890
- raise ExpressionServiceError (
891
- "Bad request error" ,
892
- f"Invalid SORTING_ORDER for 'VirtualFields': \" { req_sorting_order_param } \" " ,
893
- 400 )
894
-
895
871
# get filter
896
872
req_filter = params .get ('FILTER' , '' )
897
873
if req_filter :
@@ -916,6 +892,30 @@ def virtualFields(params: Dict[str, str], response: QgsServerResponse, project:
916
892
req_exp .prepare (exp_context )
917
893
req = QgsFeatureRequest (req_exp , exp_context )
918
894
895
+ # set limit
896
+ req_limit = params .get ('LIMIT' , '-1' )
897
+ try :
898
+ req .setLimit (int (req_limit ))
899
+ except ValueError :
900
+ raise ExpressionServiceError (
901
+ "Bad request error" ,
902
+ f"Invalid LIMIT for 'VirtualFields': \" { req_limit } \" " ,
903
+ 400 )
904
+
905
+ # set orderby
906
+ req_sorting_order_param = params .get ('SORTING_ORDER' , '' )
907
+
908
+ if req_sorting_order_param in ('asc' , 'desc' ):
909
+ # QGIS expects a boolean to know how to sort
910
+ req_sorting_field = params .get ('SORTING_FIELD' , '' )
911
+ order_by_clause = QgsFeatureRequest .OrderByClause (req_sorting_field , req_sorting_order_param == 'asc' )
912
+ req .setOrderBy (QgsFeatureRequest .OrderBy ([order_by_clause ]))
913
+ elif req_sorting_order_param != '' :
914
+ raise ExpressionServiceError (
915
+ "Bad request error" ,
916
+ f"Invalid SORTING_ORDER for 'VirtualFields': \" { req_sorting_order_param } \" " ,
917
+ 400 )
918
+
919
919
# With geometry
920
920
with_geom = to_bool (params .get ('WITH_GEOMETRY' ))
921
921
if not with_geom :
0 commit comments