Projet

Général

Profil

0001-engine-allow-dimensions-without-joins-fixes-28191.patch

Benjamin Dauvergne, 20 novembre 2018 15:35

Télécharger (2,56 ko)

Voir les différences:

Subject: [PATCH] engine: allow dimensions without joins (fixes #28191)

 bijoe/engine.py                    |  2 +-
 tests/fixtures/schema1/schema.json | 12 ++++++++++++
 tests/test_schema1.py              | 10 ++++++++++
 3 files changed, 23 insertions(+), 1 deletion(-)
bijoe/engine.py
289 289

  
290 290
            for dimension_name in drilldown:
291 291
                dimension = self.dimensions[dimension_name]
292
                joins.update(dimension.join)
292
                joins.update(dimension.join or [])
293 293
                projections.append('%s AS %s' % (dimension.value_label or dimension.value,
294 294
                                                 dimension.name))
295 295
                group_by.append(dimension.group_by or dimension.value)
tests/fixtures/schema1/schema.json
68 68
                }
69 69
            ],
70 70
            "dimensions": [
71
                {
72
                    "name": "date",
73
                    "label": "Date",
74
                    "type": "date",
75
                    "value": "date"
76
                },
77
                {
78
                    "name": "hour",
79
                    "type": "integer",
80
                    "label": "Hour",
81
                    "value": "EXTRACT(hour from datetime)"
82
                },
71 83
                {
72 84
                    "name": "innersubcategory",
73 85
                    "label": "Inner SubCategory",
tests/test_schema1.py
27 27
        [u'Inner SubCategory', u'subé1', u'subé3'],
28 28
        ['number of rows', '15', '1'],
29 29
    ]
30
    form = response.form
31
    form.set('representation', 'table')
32
    form.set('measure', 'simple_count')
33
    form.set('drilldown_x', 'date__month')
34
    response = form.submit('visualize')
35
    assert 'big-msg-info' not in response
36
    assert get_table(response) == [
37
        ['mois (Date)', 'janvier', u'f\xe9vrier', 'mars', 'avril', 'mai', 'juin', 'juillet', u'ao\xfbt'],
38
        ['number of rows', '10', '1', '1', '1', '1', '1', '1', '1'],
39
    ]
30
-