From 682c7f3c94208ae38a21709bcbf4e54185028330 Mon Sep 17 00:00:00 2001 From: Ashley Date: Fri, 24 Jan 2025 02:55:43 +0000 Subject: [PATCH] Update: adjusted MLA vessel form to account for reissued applications --- mooringlicensing/components/proposals/serializers.py | 12 +++++++++++- .../src/components/common/vessels.vue | 2 +- .../mooringlicensing/src/components/form_mla.vue | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/mooringlicensing/components/proposals/serializers.py b/mooringlicensing/components/proposals/serializers.py index 3fadb10b..8f8564fd 100644 --- a/mooringlicensing/components/proposals/serializers.py +++ b/mooringlicensing/components/proposals/serializers.py @@ -30,7 +30,7 @@ InsuranceCertificateDocument, ) from mooringlicensing.ledger_api_utils import retrieve_email_userro -from mooringlicensing.components.approvals.models import MooringLicence, MooringOnApproval, Approval +from mooringlicensing.components.approvals.models import MooringLicence, MooringOnApproval, Approval, VesselOwnershipOnApproval from mooringlicensing.components.main.serializers import CommunicationLogEntrySerializer from mooringlicensing.components.users.serializers import UserSerializer, ProposalApplicantSerializer from ledger_api_client.managed_models import SystemUser @@ -302,6 +302,11 @@ def get_current_vessels_rego_list(self, obj): if obj.approval and type(obj.approval.child_obj) is MooringLicence: vessels_str = '' vessels_str += ', '.join([vo.vessel.rego_no for vo in obj.listed_vessels.filter(end_date__isnull=True)]) + + if not vessels_str and obj.approval and obj.approval.reissued: + voas = VesselOwnershipOnApproval.objects.filter(approval=obj.approval,end_date__isnull=True).distinct("vessel_ownership__vessel__rego_no") + vessels_str += ', '.join([voa.vessel_ownership.vessel.rego_no for voa in voas]) + return vessels_str def get_previous_application_preferred_bay_id(self, obj): @@ -1097,6 +1102,11 @@ def get_current_vessels_rego_list(self, obj): if obj.approval and type(obj.approval.child_obj) is MooringLicence: vessels_str = '' vessels_str += ', '.join([vo.vessel.rego_no for vo in obj.listed_vessels.filter(end_date__isnull=True)]) + + if not vessels_str and obj.approval and obj.approval.reissued: + voas = VesselOwnershipOnApproval.objects.filter(approval=obj.approval,end_date__isnull=True).distinct("vessel_ownership__vessel__rego_no") + vessels_str += ', '.join([voa.vessel_ownership.vessel.rego_no for voa in voas]) + return vessels_str def get_reissued(self, obj): diff --git a/mooringlicensing/frontend/mooringlicensing/src/components/common/vessels.vue b/mooringlicensing/frontend/mooringlicensing/src/components/common/vessels.vue index a758a5f5..ac5d03d7 100755 --- a/mooringlicensing/frontend/mooringlicensing/src/components/common/vessels.vue +++ b/mooringlicensing/frontend/mooringlicensing/src/components/common/vessels.vue @@ -17,7 +17,7 @@ v-model="vessel.vessel_details.vessel_name" required /> -
+
diff --git a/mooringlicensing/frontend/mooringlicensing/src/components/form_mla.vue b/mooringlicensing/frontend/mooringlicensing/src/components/form_mla.vue index 71dd2300..376ab284 100755 --- a/mooringlicensing/frontend/mooringlicensing/src/components/form_mla.vue +++ b/mooringlicensing/frontend/mooringlicensing/src/components/form_mla.vue @@ -208,7 +208,7 @@ }, readonlyMLA: function() { let readonly = false; - if (this.readonly || (this.proposal.proposal_type.code === 'new')) { + if (this.readonly || (this.proposal.proposal_type.code === 'new' && !this.proposal.reissued)) { readonly = true; } return readonly;