From de119c89a42d7aee4ea4bf3f7e2e44ac36c20ef6 Mon Sep 17 00:00:00 2001
From: Jiri Kalvoda <jirikalvoda@kam.mff.cuni.cz>
Date: Fri, 24 Sep 2021 15:50:55 +0200
Subject: [PATCH] Fields: IntList

---
 mo/web/fields.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/mo/web/fields.py b/mo/web/fields.py
index 6dcf435b..85eeb71f 100644
--- a/mo/web/fields.py
+++ b/mo/web/fields.py
@@ -40,6 +40,20 @@ class Decimal(wtforms.DecimalField):
         return super(Decimal, self)._value()
 
 
+class IntList(wtforms.StringField):
+    list = None
+
+    def __init__(self, label="", validators=None, **kwargs):
+        super().__init__(label, validators, **kwargs)
+
+    def pre_validate(field, form):
+        field.list = None
+        if field.data:
+            try:
+                field.list = mo.util.parse_int_list(field.data)
+            except mo.CheckError as e:
+                raise wtforms.ValidationError(str(e))
+
 class Points(Decimal):
     def __init__(self, label="Body", validators=None, **kwargs):
         super().__init__(label, validators, **kwargs)
-- 
GitLab