From fc92793e49b27d64637c67ce740266c1ee33cbf9 Mon Sep 17 00:00:00 2001 From: Serghei Mihai Date: Thu, 26 Nov 2020 10:10:27 +0100 Subject: [PATCH] feeder: try to cast digit string fields with numeric value only (#48426) --- tests/conftest.py | 3 ++- wcs_olap/feeder.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 925acc3..9dc9302 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -137,6 +137,7 @@ for i in range(50): formdata.data['4'] = 'open_two' formdata.data['4_display'] = 'open_two' formdata.data['10'] = 'b' + formdata.data['8'] = str(i) else: formdata.data['2'] = 'baz' formdata.data['2_display'] = 'baz' @@ -144,9 +145,9 @@ for i in range(50): formdata.data['4_display'] = "open'three" formdata.data['9'] = 'a' formdata.data['10'] = 'b' + formdata.data['8'] = '' formdata.data['3'] = bool(i % 2) - formdata.data['8'] = str(i % 10) if i%3 == 0: formdata.jump_status('new') else: diff --git a/wcs_olap/feeder.py b/wcs_olap/feeder.py index 8017309..f596f20 100644 --- a/wcs_olap/feeder.py +++ b/wcs_olap/feeder.py @@ -846,7 +846,7 @@ class WcsFormdefFeeder(object): v = None elif field.type == 'string': if has_digits_validation(field): - if raw is not None: + if raw is not None and raw.isnumeric(): v = int(raw) else: v = raw