add wiref id to qs if wiref is already transferred

This commit is contained in:
2024-03-04 18:04:12 +00:00
parent 4d8088fb3e
commit 797ff84b32

View File

@@ -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")