diff --git a/mooringlicensing/components/approvals/models.py b/mooringlicensing/components/approvals/models.py index 9c82ed5bb..e12622096 100755 --- a/mooringlicensing/components/approvals/models.py +++ b/mooringlicensing/components/approvals/models.py @@ -2546,7 +2546,7 @@ class DcvAdmission(RevisionedMixin): date_created = models.DateTimeField(blank=True, null=True, auto_now_add=True) status = models.CharField(max_length=40, choices=STATUS_CHOICES, null=True, blank=True) - invoice_property_cache = JSONField(null=True, blank=True, default={}) + invoice_property_cache = JSONField(null=True, blank=True, default=dict) @property def admin_group(self): @@ -2851,7 +2851,7 @@ class DcvPermit(RevisionedMixin): postal_address_state = models.CharField(max_length=255, default='WA', blank=True, null=True) postal_address_country = CountryField(default='AU', blank=True, null=True) - invoice_property_cache = JSONField(null=True, blank=True, default={}) + invoice_property_cache = JSONField(null=True, blank=True, default=dict) @property def submitter_obj(self): @@ -3174,7 +3174,7 @@ class Sticker(models.Model): postal_address_country = CountryField(default='AU', null=True, blank=True) postal_address_postcode = models.CharField(max_length=10, null=True, blank=True) - invoice_property_cache = JSONField(null=True, blank=True, default={}) + invoice_property_cache = JSONField(null=True, blank=True, default=dict) class Meta: app_label = 'mooringlicensing' diff --git a/mooringlicensing/components/proposals/models.py b/mooringlicensing/components/proposals/models.py index 1b1aa18be..761191067 100644 --- a/mooringlicensing/components/proposals/models.py +++ b/mooringlicensing/components/proposals/models.py @@ -273,7 +273,7 @@ class Proposal(DirtyFieldsMixin, RevisionedMixin): proposed_issuance_approval = JSONField(blank=True, null=True) - invoice_property_cache = JSONField(null=True, blank=True, default={}) + invoice_property_cache = JSONField(null=True, blank=True, default=dict) customer_status = models.CharField('Customer Status', max_length=40, choices=CUSTOMER_STATUS_CHOICES, @@ -3820,7 +3820,7 @@ def create_fee_lines(self): 'vessel_details_id': vessel_details_largest.id if vessel_details_largest else '', 'fee_amount_adjusted': str(fee_amount_adjusted), }) - line_items.append(generate_line_item(self.application_type, fee_amount_adjusted, fee_constructor_for_ml, self, current_datetime)) + line_items.append(generate_line_item(self.application_type, fee_amount_adjusted, fee_constructor_for_ml, self, current_datetime, vessel_details_largest.vessel.rego_no)) # For Annual Admission component for vessel_details in vessel_detais_list_to_be_processed: diff --git a/mooringlicensing/frontend/mooringlicensing/src/components/internal/proposals/proposal.vue b/mooringlicensing/frontend/mooringlicensing/src/components/internal/proposals/proposal.vue index f3d62b908..1411fee88 100644 --- a/mooringlicensing/frontend/mooringlicensing/src/components/internal/proposals/proposal.vue +++ b/mooringlicensing/frontend/mooringlicensing/src/components/internal/proposals/proposal.vue @@ -373,7 +373,7 @@ export default { return this.proposal.processing_status == 'Declined' || this.proposal.processing_status == 'Approved'; }, canAssess: function(){ - return this.hasAssessorMode || this.hasApproverMode; + return this.proposal.assessor_mode.assessor_can_assess; }, hasAssessorMode:function(){ return this.proposal && this.proposal.assessor_mode.has_assessor_mode ? true : false; diff --git a/mooringlicensing/migrations/0387_alter_dcvadmission_invoice_property_cache_and_more.py b/mooringlicensing/migrations/0387_alter_dcvadmission_invoice_property_cache_and_more.py new file mode 100644 index 000000000..46bc2d96b --- /dev/null +++ b/mooringlicensing/migrations/0387_alter_dcvadmission_invoice_property_cache_and_more.py @@ -0,0 +1,33 @@ +# Generated by Django 5.0.9 on 2025-01-15 00:47 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('mooringlicensing', '0386_applicationfee_payment_status_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='dcvadmission', + name='invoice_property_cache', + field=models.JSONField(blank=True, default=dict, null=True), + ), + migrations.AlterField( + model_name='dcvpermit', + name='invoice_property_cache', + field=models.JSONField(blank=True, default=dict, null=True), + ), + migrations.AlterField( + model_name='proposal', + name='invoice_property_cache', + field=models.JSONField(blank=True, default=dict, null=True), + ), + migrations.AlterField( + model_name='sticker', + name='invoice_property_cache', + field=models.JSONField(blank=True, default=dict, null=True), + ), + ] diff --git a/mooringlicensing/utils/mooring_licence_migrate_pd.py b/mooringlicensing/utils/mooring_licence_migrate_pd.py index d76ff2fe7..d1dcbbba4 100644 --- a/mooringlicensing/utils/mooring_licence_migrate_pd.py +++ b/mooringlicensing/utils/mooring_licence_migrate_pd.py @@ -2141,7 +2141,10 @@ def create_annual_admissions(self): ) except Exception as e: - errors.append("Rego No " + str(rego_no) + " - User Id " + str(user.id) + ":" + str(e)) + if user: + errors.append("Rego No " + str(rego_no) + " - User Id " + str(user.id) + ":" + str(e)) + else: + errors.append("Rego No " + str(rego_no) + " - User Id None:" + str(e)) print(f'rego_aa_created: {len(rego_aa_created)}') print(f'total_aa_created: {len(total_aa_created)}')