From 3160f55597209fae70efa5cacda708a8a6522b95 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Tue, 10 Sep 2019 16:10:11 +0000 Subject: [PATCH] Added code to catch a form error regularly caused by form spam and return a failure instead of triggering a server 500. - Legacy-Id: 16728 --- ietf/doc/fields.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ietf/doc/fields.py b/ietf/doc/fields.py index 9c358949f..7266f5d34 100644 --- a/ietf/doc/fields.py +++ b/ietf/doc/fields.py @@ -89,7 +89,10 @@ class SearchableDocumentsField(forms.CharField): value = super(SearchableDocumentsField, self).clean(value) pks = self.parse_select2_value(value) - objs = self.model.objects.filter(pk__in=pks) + try: + objs = self.model.objects.filter(pk__in=pks) + except ValueError as e: + raise forms.ValidationError("Unexpected field value; %s" % e) found_pks = [ str(o.pk) for o in objs ] failed_pks = [ x for x in pks if x not in found_pks ]