From 90daf7691fff822d99150432aebf9b1b1dfb20ba Mon Sep 17 00:00:00 2001 From: Tanner Prestegard <tanner.prestegard@ligo.org> Date: Fri, 28 Sep 2018 10:56:31 -0500 Subject: [PATCH] Fixes to web API form for superevents list Changing superevents serializer to use text input fields for 'preferred_event' and 'events'. The 'events' field also will now accept a comma-separated list. This prevents timeout errors when trying to render all the options for events in the form and speeds up page load times significantly for this view. --- gracedb/api/v1/superevents/serializers.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gracedb/api/v1/superevents/serializers.py b/gracedb/api/v1/superevents/serializers.py index 9ffaac4fc..0961ed1b6 100644 --- a/gracedb/api/v1/superevents/serializers.py +++ b/gracedb/api/v1/superevents/serializers.py @@ -40,7 +40,8 @@ class SupereventSerializer(serializers.ModelSerializer): # Fields submitter = serializers.SlugRelatedField(slug_field='username', read_only=True) - preferred_event = EventGraceidField(required=True) + preferred_event = EventGraceidField(required=True, + style={'base_template': 'input.html'}) created = serializers.DateTimeField(format=settings.GRACE_STRFTIME_FORMAT, read_only=True) category = ChoiceDisplayField(required=True, @@ -56,7 +57,8 @@ class SupereventSerializer(serializers.ModelSerializer): # creation) user = serializers.HiddenField(write_only=True, default=serializers.CurrentUserDefault()) - events = EventGraceidField(many=True, required=False, write_only=True) + events = CommaSeparatedOrListField(required=False, write_only=True, + child=EventGraceidField()) class Meta: model = Superevent -- GitLab