Projet

Général

Profil

0001-geojson-full-param-to-get-all-fields-50283.patch

Lauréline Guérin, 19 janvier 2021 10:44

Télécharger (2,48 ko)

Voir les différences:

Subject: [PATCH] geojson: full param to get all fields (#50283)

 tests/test_api.py            | 11 +++++++++++
 wcs/backoffice/management.py |  5 ++++-
 2 files changed, 15 insertions(+), 1 deletion(-)
tests/test_api.py
2136 2136
    assert 'features' in resp.json
2137 2137
    assert len(resp.json['features']) == 10
2138 2138
    display_fields = resp.json['features'][0]['properties']['display_fields']
2139
    assert len(display_fields) == 5
2139 2140
    for field in display_fields:
2140 2141
        if field['label'] == 'Number':
2141 2142
            assert field['varname'] == 'id'
......
2153 2154
            assert field['varname'] is None
2154 2155
            assert field['value'] == "test.txt"
2155 2156
            assert field['html_value'] == '<div class="file-field"><a download="test.txt" href="http://example.net/backoffice/management/test/28/download?f=1"><span>test.txt</span></a></div>'
2157
    field_varnames = [f['varname'] for f in display_fields]
2158
    assert 'foobar' not in field_varnames
2159

  
2160
    # check full=on
2161
    resp = get_app(pub).get(sign_uri('/api/forms/test/geojson?full=on', user=local_user))
2162
    assert len(resp.json['features']) == 10
2163
    display_fields = resp.json['features'][0]['properties']['display_fields']
2164
    assert len(display_fields) == 8
2165
    field_varnames = [f['varname'] for f in display_fields]
2166
    assert 'foobar' in field_varnames
2156 2167

  
2157 2168
    # check with a filter
2158 2169
    resp = get_app(pub).get(sign_uri('/api/forms/test/geojson?filter=done', user=local_user))
wcs/backoffice/management.py
2101 2101
            user = get_user_from_api_query_string('geojson')
2102 2102

  
2103 2103
        selected_filter = self.get_filter_from_query()
2104
        fields = self.get_fields_from_query()
2104
        if get_request().form.get('full') == 'on':
2105
            fields = list(self.get_formdef_fields())
2106
        else:
2107
            fields = self.get_fields_from_query()
2105 2108
        criterias = self.get_criterias_from_query()
2106 2109
        query = get_request().form.get('q')
2107 2110

  
2108
-