Limite les select au tirage concerné
This commit is contained in:
parent
d535cf24a3
commit
147b8514ef
1 changed files with 26 additions and 23 deletions
49
bda/admin.py
49
bda/admin.py
|
@ -94,9 +94,12 @@ class WithoutListingAttributionInline(AttributionInline):
|
||||||
class ParticipantAdminForm(forms.ModelForm):
|
class ParticipantAdminForm(forms.ModelForm):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self.fields["choicesrevente"].queryset = Spectacle.objects.select_related(
|
queryset = Spectacle.objects.select_related("location")
|
||||||
"location"
|
|
||||||
)
|
if self.instance.pk is not None:
|
||||||
|
queryset = queryset.filter(tirage=self.instance.tirage)
|
||||||
|
|
||||||
|
self.fields["choicesrevente"].queryset = queryset
|
||||||
|
|
||||||
|
|
||||||
class ParticipantPaidFilter(admin.SimpleListFilter):
|
class ParticipantPaidFilter(admin.SimpleListFilter):
|
||||||
|
@ -202,17 +205,6 @@ class ParticipantAdmin(ReadOnlyMixin, admin.ModelAdmin):
|
||||||
|
|
||||||
|
|
||||||
class AttributionAdminForm(forms.ModelForm):
|
class AttributionAdminForm(forms.ModelForm):
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
super().__init__(*args, **kwargs)
|
|
||||||
if "spectacle" in self.fields:
|
|
||||||
self.fields["spectacle"].queryset = Spectacle.objects.select_related(
|
|
||||||
"location"
|
|
||||||
)
|
|
||||||
if "participant" in self.fields:
|
|
||||||
self.fields["participant"].queryset = Participant.objects.select_related(
|
|
||||||
"user", "tirage"
|
|
||||||
)
|
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
cleaned_data = super().clean()
|
cleaned_data = super().clean()
|
||||||
participant = cleaned_data.get("participant")
|
participant = cleaned_data.get("participant")
|
||||||
|
@ -225,6 +217,12 @@ class AttributionAdminForm(forms.ModelForm):
|
||||||
)
|
)
|
||||||
return cleaned_data
|
return cleaned_data
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
widgets = {
|
||||||
|
"participant": ModelSelect2(url="bda-participant-autocomplete"),
|
||||||
|
"spectacle": ModelSelect2(url="bda-spectacle-autocomplete"),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class AttributionAdmin(ReadOnlyMixin, admin.ModelAdmin):
|
class AttributionAdmin(ReadOnlyMixin, admin.ModelAdmin):
|
||||||
|
|
||||||
|
@ -284,15 +282,20 @@ class SalleAdmin(admin.ModelAdmin):
|
||||||
class SpectacleReventeAdminForm(forms.ModelForm):
|
class SpectacleReventeAdminForm(forms.ModelForm):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self.fields["confirmed_entry"].queryset = Participant.objects.select_related(
|
confirmed_entry_qset = Participant.objects.select_related("user", "tirage")
|
||||||
"user", "tirage"
|
seller_qset = Participant.objects.select_related("user", "tirage")
|
||||||
)
|
soldTo_qset = Participant.objects.select_related("user", "tirage")
|
||||||
self.fields["seller"].queryset = Participant.objects.select_related(
|
|
||||||
"user", "tirage"
|
if self.instance.pk is not None:
|
||||||
)
|
confirmed_entry_qset = confirmed_entry_qset.filter(
|
||||||
self.fields["soldTo"].queryset = Participant.objects.select_related(
|
tirage=self.instance.seller.tirage
|
||||||
"user", "tirage"
|
)
|
||||||
)
|
seller_qset = seller_qset.filter(tirage=self.instance.seller.tirage)
|
||||||
|
soldTo_qset = soldTo_qset.filter(tirage=self.instance.seller.tirage)
|
||||||
|
|
||||||
|
self.fields["confirmed_entry"].queryset = confirmed_entry_qset
|
||||||
|
self.fields["seller"].queryset = seller_qset
|
||||||
|
self.fields["soldTo"].queryset = soldTo_qset
|
||||||
|
|
||||||
|
|
||||||
class SpectacleReventeAdmin(admin.ModelAdmin):
|
class SpectacleReventeAdmin(admin.ModelAdmin):
|
||||||
|
|
Loading…
Reference in a new issue