only consider bool/item/items fields if explicitely marked for stats (#63432)

This commit is contained in:
Frédéric Péters 2022-04-01 09:14:03 +02:00
parent 420c724be7
commit d888b4152f
3 changed files with 17 additions and 11 deletions

View File

@ -97,22 +97,24 @@ formdef = FormDef()
formdef.name = 'Demande'
formdef.category_id = cat.id
formdef.fields = [
fields.StringField(id='1', label='1st field', type='string', anonymise=False, varname='string'),
fields.StringField(id='1', label='1st field', type='string', anonymise=False, varname='string', display_locations=['statistics']),
fields.ItemField(id='2', label='2nd field', type='item',
items=['foo', 'bar', 'baz'], varname='item'),
fields.BoolField(id='3', label='3rd field', type='bool', varname='bool'),
fields.ItemField(id='4', label='4rth field', type='item', varname='itemOpen'),
fields.StringField(id='5', label='5th field', type='string', anonymise=False, varname='stringCaseSensitive-é'),
fields.BoolField(id='6', label='6th field bad duplicate', type='bool', varname='duplicate'),
fields.StringField(id='7', label='7th field bad duplicate', type='string', anonymise=False, varname='duplicate'),
items=['foo', 'bar', 'baz'], varname='item',
display_locations=['statistics']),
fields.BoolField(id='3', label='3rd field', type='bool', varname='bool', display_locations=['statistics']),
fields.ItemField(id='4', label='4rth field', type='item', varname='itemOpen', display_locations=['statistics']),
fields.StringField(id='5', label='5th field', type='string', anonymise=False, varname='stringCaseSensitive-é', display_locations=['statistics']),
fields.BoolField(id='6', label='6th field bad duplicate', type='bool', varname='duplicate', display_locations=['statistics']),
fields.StringField(id='7', label='7th field bad duplicate', type='string', anonymise=False, varname='duplicate', display_locations=['statistics']),
fields.StringField(id='8', label='8th field integer', type='string', anonymise=False, varname='integer',
validation={'type': 'digits'}),
validation={'type': 'digits'}, display_locations=['statistics']),
fields.StringField(id='9', label='9th field good duplicate', type='string', anonymise=False,
required=False, varname='good_duplicate'),
required=False, varname='good_duplicate', display_locations=['statistics']),
fields.StringField(id='10', label='10th field good duplicate', type='string', anonymise=False,
required=False, varname='good_duplicate'),
required=False, varname='good_duplicate', display_locations=['statistics']),
fields.StringField(id='11', label='11th field third bad duplicate', type='string',
anonymise=False, varname='duplicate'),
anonymise=False, varname='duplicate', display_locations=['statistics']),
fields.BoolField(id='12', label='12th field', type='bool', varname='bool-other-no-stats', display_locations=[]),
]
formdef.store()
@ -150,6 +152,7 @@ for i in range(50):
formdata.data['8'] = '11111111111111111111111'
formdata.data['3'] = bool(i % 2)
formdata.data['12'] = bool(i % 2)
if i%3 == 0:
formdata.jump_status('new')
else:

View File

@ -1159,6 +1159,8 @@ class WcsFormdefFeeder(object):
continue
if field.anonymise is True:
continue
if not field.in_statistics:
continue
if not field.varname:
add_warning('Le champ « %s » n\' a pas de nom de variable, il a été ignoré.' % field.label)
continue

View File

@ -203,6 +203,7 @@ class Field(BaseObject):
options = None
varname = None
in_filters = False
in_statistics = False
anonymise = None
validation = {}