Projet

Général

Profil

0001-wip.patch

Valentin Deniaud, 25 janvier 2022 17:35

Télécharger (3,54 ko)

Voir les différences:

Subject: [PATCH] wip

 combo/apps/dataviz/forms.py                   |  6 +++---
 .../migrations/0022_chartngcell_subfilters.py | 19 +++++++++++++++++++
 combo/apps/dataviz/models.py                  |  4 ++++
 3 files changed, 26 insertions(+), 3 deletions(-)
 create mode 100644 combo/apps/dataviz/migrations/0022_chartngcell_subfilters.py
combo/apps/dataviz/forms.py
65 65

  
66 66
    def get_filter_fields(self, cell):
67 67
        fields = OrderedDict()
68
        for filter_ in cell.statistic.filters:
68
        for filter_ in cell.statistic.filters + cell.subfilters:
69 69
            filter_id = filter_['id']
70 70
            choices = [(option['id'], option['label']) for option in filter_['options']]
71 71
            initial = cell.filter_params.get(filter_id, filter_.get('default'))
......
147 147
        if 'statistic' in self.changed_data:
148 148
            self.instance.filter_params.clear()
149 149
            self.instance.time_range = ''
150
            for filter_ in self.instance.statistic.filters:
150
            for filter_ in self.instance.statistic.filters + self.instance.subfilters:
151 151
                if 'default' in filter_:
152 152
                    self.instance.filter_params[filter_['id']] = filter_['default']
153 153
        else:
154
            for filter_ in self.instance.statistic.filters:
154
            for filter_ in self.instance.statistic.filters + self.instance.subfilters:
155 155
                self.instance.filter_params[filter_['id']] = self.cleaned_data.get(filter_['id'])
156 156
        return super().save(*args, **kwargs)
157 157

  
combo/apps/dataviz/migrations/0022_chartngcell_subfilters.py
1
# Generated by Django 2.2.19 on 2022-01-25 16:21
2

  
3
import django.contrib.postgres.fields.jsonb
4
from django.db import migrations
5

  
6

  
7
class Migration(migrations.Migration):
8

  
9
    dependencies = [
10
        ('dataviz', '0021_chartfilterscell'),
11
    ]
12

  
13
    operations = [
14
        migrations.AddField(
15
            model_name='chartngcell',
16
            name='subfilters',
17
            field=django.contrib.postgres.fields.jsonb.JSONField(default=list),
18
        ),
19
    ]
combo/apps/dataviz/models.py
186 186
            'This list may take a few seconds to be updated, please refresh the page if an item is missing.'
187 187
        ),
188 188
    )
189
    subfilters = JSONField(default=list)
189 190
    filter_params = JSONField(default=dict)
190 191
    title = models.CharField(_('Title'), max_length=150, blank=True)
191 192
    time_range = models.CharField(
......
357 358
            self.add_data_to_chart(chart, data, y_labels)
358 359
        else:
359 360
            data = response['data']
361
            if self.subfilters != data.get('subfilters', []):
362
                self.subfilters = data['subfilters']
363
                self.save()
360 364

  
361 365
            interval = self.filter_params.get('time_interval', '')
362 366
            if (
363
-