From 9efa832b139b569d92956c369c25c7fb94732359 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Tue, 6 Jun 2023 00:26:20 -0400 Subject: [PATCH 1/5] manual_comp_create_queue --- src/apps/api/serializers/competitions.py | 3 +++ src/apps/api/views/competitions.py | 7 +++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/apps/api/serializers/competitions.py b/src/apps/api/serializers/competitions.py index c18eff0a7..866d557f6 100644 --- a/src/apps/api/serializers/competitions.py +++ b/src/apps/api/serializers/competitions.py @@ -170,6 +170,9 @@ class CompetitionUpdateSerializer(CompetitionSerializer): phases = PhaseUpdateSerializer(many=True) queue = None +class CompetitionCreateSerializer(CompetitionSerializer): + queue = None + class CompetitionDetailSerializer(serializers.ModelSerializer): created_by = serializers.CharField(source='created_by.username', read_only=True) diff --git a/src/apps/api/views/competitions.py b/src/apps/api/views/competitions.py index 12a40cf6e..14eec6189 100644 --- a/src/apps/api/views/competitions.py +++ b/src/apps/api/views/competitions.py @@ -25,7 +25,7 @@ from rest_framework.viewsets import ModelViewSet from api.serializers.competitions import CompetitionSerializer, CompetitionSerializerSimple, PhaseSerializer, \ CompetitionCreationTaskStatusSerializer, CompetitionDetailSerializer, CompetitionParticipantSerializer, \ - FrontPageCompetitionsSerializer, PhaseResultsSerializer, CompetitionUpdateSerializer + FrontPageCompetitionsSerializer, PhaseResultsSerializer, CompetitionUpdateSerializer, CompetitionCreateSerializer from api.serializers.leaderboards import LeaderboardPhaseSerializer, LeaderboardSerializer from competitions.emails import send_participation_requested_emails, send_participation_accepted_emails, \ send_participation_denied_emails, send_direct_participant_email @@ -146,7 +146,7 @@ def get_serializer_class(self): elif self.request.method == 'PATCH': return CompetitionUpdateSerializer else: - return CompetitionSerializer + return CompetitionCreateSerializer def create(self, request, *args, **kwargs): """Mostly a copy of the underlying base create, however we return some additional data @@ -158,7 +158,6 @@ def create(self, request, *args, **kwargs): # TODO - This is Temporary. Need to change Leaderboard to Phase connect to M2M and handle this correctly. # save leaderboard individually, then pass pk to each phase - print(f"{request.data['leaderboards']}") data = request.data if 'leaderboards' in data: leaderboard_data = data['leaderboards'][0] @@ -173,7 +172,7 @@ def create(self, request, *args, **kwargs): for phase in data['phases']: phase['leaderboard'] = leaderboard_id - serializer = self.get_serializer(data=request.data) + serializer = self.get_serializer(data=request.data) # CompetitionSerializer but this is for update...hmmm curious serializer.is_valid(raise_exception=True) self.perform_create(serializer) headers = self.get_success_headers(serializer.data) From 7fe33bda76a4f04fbb2ce433eb7cca4e74b48cb8 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Tue, 6 Jun 2023 00:37:10 -0400 Subject: [PATCH 2/5] flake --- src/apps/api/serializers/competitions.py | 1 + src/apps/api/views/competitions.py | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/apps/api/serializers/competitions.py b/src/apps/api/serializers/competitions.py index 866d557f6..0314d831d 100644 --- a/src/apps/api/serializers/competitions.py +++ b/src/apps/api/serializers/competitions.py @@ -170,6 +170,7 @@ class CompetitionUpdateSerializer(CompetitionSerializer): phases = PhaseUpdateSerializer(many=True) queue = None + class CompetitionCreateSerializer(CompetitionSerializer): queue = None diff --git a/src/apps/api/views/competitions.py b/src/apps/api/views/competitions.py index 14eec6189..d27a3fe5e 100644 --- a/src/apps/api/views/competitions.py +++ b/src/apps/api/views/competitions.py @@ -23,7 +23,7 @@ from api.pagination import LargePagination from api.renderers import ZipRenderer from rest_framework.viewsets import ModelViewSet -from api.serializers.competitions import CompetitionSerializer, CompetitionSerializerSimple, PhaseSerializer, \ +from api.serializers.competitions import CompetitionSerializerSimple, PhaseSerializer, \ CompetitionCreationTaskStatusSerializer, CompetitionDetailSerializer, CompetitionParticipantSerializer, \ FrontPageCompetitionsSerializer, PhaseResultsSerializer, CompetitionUpdateSerializer, CompetitionCreateSerializer from api.serializers.leaderboards import LeaderboardPhaseSerializer, LeaderboardSerializer @@ -146,6 +146,7 @@ def get_serializer_class(self): elif self.request.method == 'PATCH': return CompetitionUpdateSerializer else: + # Really just CompetitionSerializer with queue = None return CompetitionCreateSerializer def create(self, request, *args, **kwargs): @@ -172,7 +173,7 @@ def create(self, request, *args, **kwargs): for phase in data['phases']: phase['leaderboard'] = leaderboard_id - serializer = self.get_serializer(data=request.data) # CompetitionSerializer but this is for update...hmmm curious + serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) self.perform_create(serializer) headers = self.get_success_headers(serializer.data) From 3fa1b04e6504b9a60382fde5956bea5da19a7329 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Tue, 6 Jun 2023 00:59:02 -0400 Subject: [PATCH 3/5] default docker image --- src/static/riot/competitions/editor/_competition_details.tag | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static/riot/competitions/editor/_competition_details.tag b/src/static/riot/competitions/editor/_competition_details.tag index a91445998..419fddec7 100644 --- a/src/static/riot/competitions/editor/_competition_details.tag +++ b/src/static/riot/competitions/editor/_competition_details.tag @@ -88,7 +88,7 @@
- +
From c035cbee05c09401ed838946cfbf8e0993a6a216 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Tue, 6 Jun 2023 00:59:43 -0400 Subject: [PATCH 4/5] undefined calendar var in initial phase creation --- src/static/riot/competitions/editor/_phases.tag | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/static/riot/competitions/editor/_phases.tag b/src/static/riot/competitions/editor/_phases.tag index 532f49500..e0719339c 100644 --- a/src/static/riot/competitions/editor/_phases.tag +++ b/src/static/riot/competitions/editor/_phases.tag @@ -267,8 +267,11 @@ self.has_initialized_calendars = true } - $(self.refs.calendar_start).calendar('set date', self.phases[self.selected_phase_index].start) - $(self.refs.calendar_end).calendar('set date', self.phases[self.selected_phase_index].end) + debugger + if(!(self.selected_phase_index === undefined)){ + $(self.refs.calendar_start).calendar('set date', self.phases[self.selected_phase_index].start) + $(self.refs.calendar_end).calendar('set date', self.phases[self.selected_phase_index].end) + } } self.close_modal = function () { From eca5272047fc3cd6cae7e7170eff10e0172652fa Mon Sep 17 00:00:00 2001 From: Benjamin Date: Tue, 6 Jun 2023 01:03:36 -0400 Subject: [PATCH 5/5] remove debug statement --- src/static/riot/competitions/editor/_phases.tag | 1 - 1 file changed, 1 deletion(-) diff --git a/src/static/riot/competitions/editor/_phases.tag b/src/static/riot/competitions/editor/_phases.tag index e0719339c..e2dc437c1 100644 --- a/src/static/riot/competitions/editor/_phases.tag +++ b/src/static/riot/competitions/editor/_phases.tag @@ -267,7 +267,6 @@ self.has_initialized_calendars = true } - debugger if(!(self.selected_phase_index === undefined)){ $(self.refs.calendar_start).calendar('set date', self.phases[self.selected_phase_index].start) $(self.refs.calendar_end).calendar('set date', self.phases[self.selected_phase_index].end)