0002-opengis-make-case_insensitive-parameter-explicit-413.patch
passerelle/apps/opengis/models.py | ||
---|---|---|
178 | 178 |
'description': _('Filter value'), |
179 | 179 |
'example_value': 'rue du chateau' |
180 | 180 |
}, |
181 |
'case-insensitive': {
|
|
181 |
'case_insensitive': {
|
|
182 | 182 |
'description': _('Enables case-insensitive search'), |
183 |
'example_value': 'true' |
|
184 | 183 |
} |
185 | 184 |
}) |
186 | 185 |
def features(self, request, type_names, property_name, cql_filter=None, |
187 |
filter_property_name=None, q=None, **kwargs): |
|
186 |
filter_property_name=None, q=None, case_insensitive=False, **kwargs):
|
|
188 | 187 |
if cql_filter: |
189 | 188 |
if filter_property_name and q: |
190 |
if 'case-insensitive' in kwargs: |
|
189 |
if 'case-insensitive' in kwargs or case_insensitive:
|
|
191 | 190 |
operator = 'ILIKE' |
192 | 191 |
else: |
193 | 192 |
operator = 'LIKE' |
tests/test_opengis.py | ||
---|---|---|
385 | 385 |
params['case-insensitive'] = True |
386 | 386 |
app.get(endpoint, params=params) |
387 | 387 |
assert mocked_get.call_args[1]['params']['cql_filter'] == 'nom=\'Fontaine\' AND nom ILIKE \'%bens%\'' |
388 |
del params['case-insensitive'] |
|
389 |
params['case_insensitive'] = True |
|
390 |
assert mocked_get.call_args[1]['params']['cql_filter'] == 'nom=\'Fontaine\' AND nom ILIKE \'%bens%\'' |
|
388 | 391 |
params.pop('cql_filter') |
389 | 392 |
app.get(endpoint, params=params) |
390 | 393 |
assert 'cql_filter' not in mocked_get.call_args[1]['params'] |
391 |
- |