diff --git a/fet2020/finance/forms.py b/fet2020/finance/forms.py index fa0507c6..b24265aa 100644 --- a/fet2020/finance/forms.py +++ b/fet2020/finance/forms.py @@ -400,6 +400,16 @@ class BillAdminForm(forms.ModelForm): # delete wiref id from if status is not opened. qs = qs.filter(status=Wiref.Status.OPENED) + # add wiref id if wiref is already transferred. + bill = kwargs.get("instance", None) + if bill is not None and bill.wiref is not None and bill.wiref.status != Wiref.Status.OPENED: + qs |= self.fields["wiref"].queryset.filter(wiref_id=bill.wiref.wiref_id) + + self.fields["wiref"].disabled = True + self.fields["wiref"].widget.can_add_related = False + self.fields["wiref"].widget.can_change_related = False + self.fields["wiref"].widget.can_delete_related = False + self.fields["wiref"].queryset = qs.order_by("-wiref_id")