Projet

Général

Profil

0001-misc-add-grouping-of-data-by-day-57825.patch

Benjamin Dauvergne, 13 octobre 2021 15:58

Télécharger (3,09 ko)

Voir les différences:

Subject: [PATCH] misc: add grouping of data by day (#57825)

 bijoe/engine.py              |  2 --
 bijoe/schemas.py             |  2 ++
 bijoe/visualization/forms.py |  2 +-
 tests/test_schema1.py        | 27 +++++++++++++++++++++++++++
 4 files changed, 30 insertions(+), 3 deletions(-)
bijoe/engine.py
139 139
        return hashlib.md5(force_bytes(key)).hexdigest()
140 140

  
141 141
    def members(self, filters=()):
142
        assert self.type != 'date'
143

  
144 142
        if self.type == 'bool':
145 143
            return [Member(id=True, label=_('Yes')), Member(id=False, label=_('No'))]
146 144

  
bijoe/schemas.py
202 202
                self.absent_label = _('N/A')
203 203
            else:
204 204
                raise NotImplementedError('not absent label for type %r' % self.type)
205
        if self.type == 'date' and not self.value_label:
206
            self.value_label = 'TO_CHAR(%s, \'DD/MM/YYYY\')' % self.value
205 207

  
206 208
    @property
207 209
    def dimensions(self):
bijoe/visualization/forms.py
172 172
        dimension_choices = [('', '')] + [
173 173
            (dimension.name, dimension.label)
174 174
            for dimension in cube.dimensions
175
            if dimension.type not in ('datetime', 'date')
175
            if dimension.type not in ('datetime',)
176 176
        ]
177 177
        # loop
178 178
        self.base_fields['loop'] = forms.ChoiceField(
tests/test_schema1.py
471 471
    resp = request_select2(app, response, 'filter__innersubcategory', term='é', page=2)
472 472
    assert len(resp['results']) == 1
473 473
    assert resp['more'] is False
474

  
475

  
476
def test_date_dimension(schema1, app, admin):
477
    login(app, admin)
478
    response = app.get('/')
479
    response = response.click('schema1')
480
    response = response.click('Facts 1')
481
    form = response.form
482
    form.set('representation', 'table')
483
    form.set('measure', 'simple_count')
484
    form.set('drilldown_y', 'date')
485
    form.set('filter__date_0', '2017-01-01')
486
    form.set('filter__date_1', '2017-02-01')
487
    response = form.submit('visualize')
488
    assert get_table(response) == [
489
        ['Date', 'number of rows'],
490
        ['01/01/2017', '1'],
491
        ['02/01/2017', '1'],
492
        ['03/01/2017', '1'],
493
        ['04/01/2017', '1'],
494
        ['05/01/2017', '1'],
495
        ['06/01/2017', '1'],
496
        ['07/01/2017', '1'],
497
        ['08/01/2017', '1'],
498
        ['09/01/2017', '1'],
499
        ['10/01/2017', '1']
500
    ]
474
-