diff --git a/apps/participation/forms.py b/apps/participation/forms.py index fdc9802..47256bd 100644 --- a/apps/participation/forms.py +++ b/apps/participation/forms.py @@ -3,6 +3,7 @@ import re from bootstrap_datepicker_plus import DateTimePickerInput from django import forms from django.core.exceptions import ValidationError +from django.db.models import Q from django.utils.translation import gettext_lazy as _ from .models import Participation, Phase, Team, Video @@ -99,6 +100,21 @@ class UploadVideoForm(forms.ModelForm): return super().clean() +class ReceiveParticipationForm(forms.ModelForm): + """ + Update the received participation of a participation. + """ + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.fields["received_participation"].queryset = Participation.objects.filter( + ~Q(pk=self.instance.pk) & Q(problem=self.instance.problem, valid=True) + ) + + class Meta: + model = Participation + fields = ('received_participation',) + + class PhaseForm(forms.ModelForm): """ Form to update the calendar of a phase. diff --git a/apps/participation/templates/participation/participation_detail.html b/apps/participation/templates/participation/participation_detail.html index a59b220..bef3de4 100644 --- a/apps/participation/templates/participation/participation_detail.html +++ b/apps/participation/templates/participation/participation_detail.html @@ -46,8 +46,13 @@