From ca7e284c3ba0210fe130693641aecd43ce246246 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Mon, 15 May 2017 16:16:27 +0200 Subject: [PATCH] declare bool columns in schema files (fixes #16345) --- wcs_olap/feeder.py | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/wcs_olap/feeder.py b/wcs_olap/feeder.py index 1931482..571c9ba 100644 --- a/wcs_olap/feeder.py +++ b/wcs_olap/feeder.py @@ -830,30 +830,37 @@ class WcsFormdefFeeder(object): if self.formdef.schema.workflow: fields += self.formdef.schema.workflow.fields for field in fields: - if not field.type == 'item': - continue if field.anonymise is True: continue if not field.varname: continue - table_name = self.hash_table_name('{formdata_table}_field_%s' % field.varname) - cube['joins'].append({ - 'name': field.varname, - 'table': table_name, - 'master': 'field_%s' % field.varname, - 'detail': 'id', - }) - if not field.required: - cube['joins'][-1]['kind'] = 'full' - cube['dimensions'].append({ - 'name': field.varname, - 'label': field.label.lower(), - 'join': [field.varname], - 'type': 'integer', - 'value': '"%s".id' % field.varname, - 'value_label': '"%s".label' % field.varname, - 'filter': True, - }) + if field.type == 'item': + table_name = self.hash_table_name('{formdata_table}_field_%s' % field.varname) + cube['joins'].append({ + 'name': field.varname, + 'table': table_name, + 'master': 'field_%s' % field.varname, + 'detail': 'id', + }) + if not field.required: + cube['joins'][-1]['kind'] = 'full' + cube['dimensions'].append({ + 'name': field.varname, + 'label': field.label.lower(), + 'join': [field.varname], + 'type': 'integer', + 'value': '"%s".id' % field.varname, + 'value_label': '"%s".label' % field.varname, + 'filter': True, + }) + elif field.type == 'bool': + cube['dimensions'].append({ + 'name': field.varname, + 'label': field.label.lower(), + 'join': [], + 'type': 'boolean', + 'filter': True, + }) self.model['cubes'].append(cube) if self.do_feed: -- 2.1.4