From 9d72e3ba2101e85ebb299a7ee8ac1ddbcd2568f8 Mon Sep 17 00:00:00 2001 From: Kevin Chung Date: Tue, 18 Aug 2020 20:38:28 -0400 Subject: [PATCH] Fix ingestion of boolean custom fields --- CTFd/auth.py | 5 ++++- CTFd/models/__init__.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CTFd/auth.py b/CTFd/auth.py index cac5ef11..44aa40ea 100644 --- a/CTFd/auth.py +++ b/CTFd/auth.py @@ -262,7 +262,10 @@ def register(): if field.required is True and (value is None or value == ""): errors.append("Please provide all required fields") break - entries[field_id] = value + if field.field_type == "boolean": + entries[field_id] = bool(value) + else: + entries[field_id] = value if len(errors) > 0: return render_template( diff --git a/CTFd/models/__init__.py b/CTFd/models/__init__.py index e48d5004..11e03090 100644 --- a/CTFd/models/__init__.py +++ b/CTFd/models/__init__.py @@ -823,7 +823,7 @@ class FieldEntries(db.Model): __tablename__ = "field_entries" id = db.Column(db.Integer, primary_key=True) type = db.Column(db.String(80), default="standard") - value = db.Column(db.Text) + value = db.Column(db.JSON) field_id = db.Column(db.Integer, db.ForeignKey("fields.id", ondelete="CASCADE")) field = db.relationship(