Projet

Général

Profil

0001-only-consider-bool-item-items-fields-if-explicitely-.patch

Frédéric Péters, 01 avril 2022 14:18

Télécharger (4,52 ko)

Voir les différences:

Subject: [PATCH] only consider bool/item/items fields if explicitely marked
 for stats (#63432)

 tests/conftest.py   | 25 ++++++++++++++-----------
 wcs_olap/feeder.py  |  2 ++
 wcs_olap/wcs_api.py |  1 +
 3 files changed, 17 insertions(+), 11 deletions(-)
tests/conftest.py
97 97
formdef.name = 'Demande'
98 98
formdef.category_id = cat.id
99 99
formdef.fields = [
100
    fields.StringField(id='1', label='1st field', type='string', anonymise=False, varname='string'),
100
    fields.StringField(id='1', label='1st field', type='string', anonymise=False, varname='string', display_locations=['statistics']),
101 101
    fields.ItemField(id='2', label='2nd field', type='item',
102
                     items=['foo', 'bar', 'baz'], varname='item'),
103
    fields.BoolField(id='3', label='3rd field', type='bool', varname='bool'),
104
    fields.ItemField(id='4', label='4rth field', type='item', varname='itemOpen'),
105
    fields.StringField(id='5', label='5th field', type='string', anonymise=False, varname='stringCaseSensitive-é'),
106
    fields.BoolField(id='6', label='6th field bad duplicate', type='bool', varname='duplicate'),
107
    fields.StringField(id='7', label='7th field bad duplicate', type='string', anonymise=False, varname='duplicate'),
102
                     items=['foo', 'bar', 'baz'], varname='item',
103
                     display_locations=['statistics']),
104
    fields.BoolField(id='3', label='3rd field', type='bool', varname='bool', display_locations=['statistics']),
105
    fields.ItemField(id='4', label='4rth field', type='item', varname='itemOpen', display_locations=['statistics']),
106
    fields.StringField(id='5', label='5th field', type='string', anonymise=False, varname='stringCaseSensitive-é', display_locations=['statistics']),
107
    fields.BoolField(id='6', label='6th field bad duplicate', type='bool', varname='duplicate', display_locations=['statistics']),
108
    fields.StringField(id='7', label='7th field bad duplicate', type='string', anonymise=False, varname='duplicate', display_locations=['statistics']),
108 109
    fields.StringField(id='8', label='8th field integer', type='string', anonymise=False, varname='integer',
109
        validation={'type': 'digits'}),
110
        validation={'type': 'digits'}, display_locations=['statistics']),
110 111
    fields.StringField(id='9', label='9th field good duplicate', type='string', anonymise=False,
111
                       required=False, varname='good_duplicate'),
112
                       required=False, varname='good_duplicate', display_locations=['statistics']),
112 113
    fields.StringField(id='10', label='10th field good duplicate', type='string', anonymise=False,
113
                       required=False, varname='good_duplicate'),
114
                       required=False, varname='good_duplicate', display_locations=['statistics']),
114 115
    fields.StringField(id='11', label='11th field third bad duplicate', type='string',
115
                       anonymise=False, varname='duplicate'),
116
                       anonymise=False, varname='duplicate', display_locations=['statistics']),
117
    fields.BoolField(id='12', label='12th field', type='bool', varname='bool-other-no-stats', display_locations=[]),
116 118
]
117 119
formdef.store()
118 120

  
......
150 152
        formdata.data['8'] = '11111111111111111111111'
151 153

  
152 154
    formdata.data['3'] = bool(i % 2)
155
    formdata.data['12'] = bool(i % 2)
153 156
    if i%3 == 0:
154 157
        formdata.jump_status('new')
155 158
    else:
wcs_olap/feeder.py
1159 1159
                continue
1160 1160
            if field.anonymise is True:
1161 1161
                continue
1162
            if field.type in ('item', 'bool') and not field.in_statistics:
1163
                continue
1162 1164
            if not field.varname:
1163 1165
                add_warning('Le champ « %s » n\' a pas de nom de variable, il a été ignoré.' % field.label)
1164 1166
                continue
wcs_olap/wcs_api.py
203 203
    options = None
204 204
    varname = None
205 205
    in_filters = False
206
    in_statistics = False
206 207
    anonymise = None
207 208
    validation = {}
208 209

  
209
-