Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/apps/api/serializers/competitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,10 @@ class CompetitionUpdateSerializer(CompetitionSerializer):
queue = None


class CompetitionCreateSerializer(CompetitionSerializer):
queue = None


class CompetitionDetailSerializer(serializers.ModelSerializer):
created_by = serializers.CharField(source='created_by.username', read_only=True)
pages = PageSerializer(many=True)
Expand Down
8 changes: 4 additions & 4 deletions src/apps/api/views/competitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
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
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
Expand Down Expand Up @@ -146,7 +146,8 @@ def get_serializer_class(self):
elif self.request.method == 'PATCH':
return CompetitionUpdateSerializer
else:
return CompetitionSerializer
# Really just CompetitionSerializer with queue = None
return CompetitionCreateSerializer

def create(self, request, *args, **kwargs):
"""Mostly a copy of the underlying base create, however we return some additional data
Expand All @@ -158,7 +159,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]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
</div>
<div class="field required">
<label>Competition Docker Image</label>
<input type="text" ref="docker_image" onchange="{form_updated}">
<input type="text" ref="docker_image" onchange="{form_updated}" value="codalab/codalab-legacy:py37">
</div>
<div class="field">
<label>Competition Type</label>
Expand Down
6 changes: 4 additions & 2 deletions src/static/riot/competitions/editor/_phases.tag
Original file line number Diff line number Diff line change
Expand Up @@ -267,8 +267,10 @@

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)
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 () {
Expand Down