Projet

Général

Profil

0001-declare-bool-columns-in-schema-files-fixes-16345.patch

Benjamin Dauvergne, 15 mai 2017 16:32

Télécharger (2,84 ko)

Voir les différences:

Subject: [PATCH] declare bool columns in schema files (fixes #16345)

 wcs_olap/feeder.py | 47 +++++++++++++++++++++++++++--------------------
 1 file changed, 27 insertions(+), 20 deletions(-)
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
-