From 17fb7f22e6c4702977d8404ec545483d798de8c2 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Thu, 2 Jun 2022 15:03:30 +0200 Subject: [PATCH] dataviz: catch invalid template error when updating subfilters (#65916) --- combo/apps/dataviz/models.py | 6 +++++- tests/test_dataviz.py | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/combo/apps/dataviz/models.py b/combo/apps/dataviz/models.py index 43e54e73..0bf8c39a 100644 --- a/combo/apps/dataviz/models.py +++ b/combo/apps/dataviz/models.py @@ -717,7 +717,11 @@ class ChartNgCell(CellBase): def update_subfilters(self): self._request = get_request() - response = self.get_statistic_data() + try: + response = self.get_statistic_data() + except (TemplateSyntaxError, VariableDoesNotExist): + return + try: response.raise_for_status() data = response.json()['data'] diff --git a/tests/test_dataviz.py b/tests/test_dataviz.py index 917157ee..13b3a8e5 100644 --- a/tests/test_dataviz.py +++ b/tests/test_dataviz.py @@ -2625,3 +2625,10 @@ def test_chartng_cell_subfilter_page_variable(new_api_statistics, app, admin_use resp.form[field_prefix + 'form'] = 'food-request' manager_submit_cell(resp.form) assert field_prefix + 'menu' in resp.form.fields + + # page variable has syntax error + page.extra_variables = {'foo': '{% for %}'} + page.save() + resp.form[field_prefix + 'form'] = 'contact' + manager_submit_cell(resp.form) + assert field_prefix + 'menu' in resp.form.fields -- 2.30.2