diff --git a/src/apps/api/serializers/competitions.py b/src/apps/api/serializers/competitions.py index d4557a1c6..a0fb14fda 100644 --- a/src/apps/api/serializers/competitions.py +++ b/src/apps/api/serializers/competitions.py @@ -458,6 +458,7 @@ class CompetitionSerializerSimple(serializers.ModelSerializer): created_by = serializers.CharField(source='created_by.username', read_only=True) owner_display_name = serializers.SerializerMethodField() participants_count = serializers.IntegerField(read_only=True) + first_phase_start = serializers.DateTimeField(read_only=True) class Meta: model = Competition @@ -467,6 +468,7 @@ class Meta: 'created_by', 'owner_display_name', 'created_when', + 'first_phase_start', 'published', 'participants_count', 'logo', @@ -477,8 +479,7 @@ class Meta: 'contact_email', 'report', 'is_featured', - 'submissions_count', - 'participants_count' + 'submissions_count' ) def get_created_by(self, obj): diff --git a/src/apps/competitions/models.py b/src/apps/competitions/models.py index 30f1e34f6..8477e1c62 100644 --- a/src/apps/competitions/models.py +++ b/src/apps/competitions/models.py @@ -102,6 +102,13 @@ def bundle_dataset(self): def all_organizers(self): return [self.created_by] + list(self.collaborators.all()) + @property + def first_phase_start(self): + first_phase = self.phases.filter(index=0).first() + if first_phase and first_phase.start: + return first_phase.start + return self.created_when + def user_has_admin_permission(self, user): if isinstance(user, int): try: diff --git a/src/static/riot/competitions/competition_list.tag b/src/static/riot/competitions/competition_list.tag index 7d7b0f720..013dd3eae 100644 --- a/src/static/riot/competitions/competition_list.tag +++ b/src/static/riot/competitions/competition_list.tag @@ -18,7 +18,7 @@