0001-declare-bool-columns-in-schema-files-fixes-16345.patch
wcs_olap/feeder.py | ||
---|---|---|
830 | 830 |
if self.formdef.schema.workflow: |
831 | 831 |
fields += self.formdef.schema.workflow.fields |
832 | 832 |
for field in fields: |
833 |
if not field.type == 'item': |
|
834 |
continue |
|
835 | 833 |
if field.anonymise is True: |
836 | 834 |
continue |
837 | 835 |
if not field.varname: |
838 | 836 |
continue |
839 |
table_name = self.hash_table_name('{formdata_table}_field_%s' % field.varname) |
|
840 |
cube['joins'].append({ |
|
841 |
'name': field.varname, |
|
842 |
'table': table_name, |
|
843 |
'master': 'field_%s' % field.varname, |
|
844 |
'detail': 'id', |
|
845 |
}) |
|
846 |
if not field.required: |
|
847 |
cube['joins'][-1]['kind'] = 'full' |
|
848 |
cube['dimensions'].append({ |
|
849 |
'name': field.varname, |
|
850 |
'label': field.label.lower(), |
|
851 |
'join': [field.varname], |
|
852 |
'type': 'integer', |
|
853 |
'value': '"%s".id' % field.varname, |
|
854 |
'value_label': '"%s".label' % field.varname, |
|
855 |
'filter': True, |
|
856 |
}) |
|
837 |
if field.type == 'item': |
|
838 |
table_name = self.hash_table_name('{formdata_table}_field_%s' % field.varname) |
|
839 |
cube['joins'].append({ |
|
840 |
'name': field.varname, |
|
841 |
'table': table_name, |
|
842 |
'master': 'field_%s' % field.varname, |
|
843 |
'detail': 'id', |
|
844 |
}) |
|
845 |
if not field.required: |
|
846 |
cube['joins'][-1]['kind'] = 'full' |
|
847 |
cube['dimensions'].append({ |
|
848 |
'name': field.varname, |
|
849 |
'label': field.label.lower(), |
|
850 |
'join': [field.varname], |
|
851 |
'type': 'integer', |
|
852 |
'value': '"%s".id' % field.varname, |
|
853 |
'value_label': '"%s".label' % field.varname, |
|
854 |
'filter': True, |
|
855 |
}) |
|
856 |
elif field.type == 'bool': |
|
857 |
cube['dimensions'].append({ |
|
858 |
'name': field.varname, |
|
859 |
'label': field.label.lower(), |
|
860 |
'join': [], |
|
861 |
'type': 'boolean', |
|
862 |
'filter': True, |
|
863 |
}) |
|
857 | 864 | |
858 | 865 |
self.model['cubes'].append(cube) |
859 | 866 |
if self.do_feed: |
860 |
- |