diff --git a/src/apps/api/serializers/tasks.py b/src/apps/api/serializers/tasks.py index 521c8f64c..deac682cc 100644 --- a/src/apps/api/serializers/tasks.py +++ b/src/apps/api/serializers/tasks.py @@ -7,6 +7,7 @@ from competitions.models import PhaseTaskInstance, Phase from datasets.models import Data from tasks.models import Task, Solution +from competitions.models import Competition class SolutionSerializer(WritableNestedModelSerializer): @@ -138,7 +139,12 @@ class Meta: ) def get_competitions(self, instance): - return self.context['task_titles'][instance.pk] + + # Fech competitions which hase phases with this task + # competitions = Phase.objects.filter(tasks__in=[instance.pk]).values('competition') + competitions = Competition.objects.filter(phases__tasks__in=[instance.pk]).values("id", "title").distinct() + + return competitions def get_shared_with(self, instance): return self.context['shared_with'][instance.pk] diff --git a/src/apps/datasets/migrations/0006_auto_20230528_0829.py b/src/apps/datasets/migrations/0006_auto_20230528_0829.py new file mode 100644 index 000000000..8e51ba6c3 --- /dev/null +++ b/src/apps/datasets/migrations/0006_auto_20230528_0829.py @@ -0,0 +1,19 @@ +# Generated by Django 2.2.17 on 2023-05-28 08:29 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('datasets', '0005_auto_20230527_0837'), + ] + + operations = [ + migrations.AlterField( + model_name='data', + name='competition', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='submission', to='competitions.Competition'), + ), + ] diff --git a/src/apps/datasets/models.py b/src/apps/datasets/models.py index ae96b76ef..3d97e8b45 100644 --- a/src/apps/datasets/models.py +++ b/src/apps/datasets/models.py @@ -88,7 +88,7 @@ def in_use(self): Q(phases__tasks__input_data=self) | Q(phases__tasks__reference_data=self) | Q(phases__tasks__scoring_program=self) - ).values_list('pk', flat=True).distinct() + ).values('pk', 'title').distinct() return competitions_in_use def __str__(self): diff --git a/src/static/riot/datasets/management.tag b/src/static/riot/datasets/management.tag index 3940c6c69..ad33b4901 100644 --- a/src/static/riot/datasets/management.tag +++ b/src/static/riot/datasets/management.tag @@ -1,7 +1,5 @@ - +
@@ -18,21 +16,18 @@
- + - @@ -46,12 +41,7 @@ - - - - - - + @@ -82,11 +72,9 @@ - + -
File NameCompetition in Type Size Uploaded
{ dataset.file_name || dataset.name }{ dataset.competition.title }{ dataset.name } { dataset.type } { format_file_size(dataset.file_size) } { timeSince(Date.parse(dataset.created_when)) } ago
+
+