diff --git a/golem_activity_registration_payment/__manifest__.py b/golem_activity_registration_payment/__manifest__.py index 5b87131..4c8aa4d 100644 --- a/golem_activity_registration_payment/__manifest__.py +++ b/golem_activity_registration_payment/__manifest__.py @@ -19,7 +19,7 @@ 'name': 'GOLEM Activity Member Registration Payments', 'summary': 'GOLEM Activities Member Registration Payments', 'description': 'GOLEM Activities Member Registration Payments', - 'version': '10.0.0.3.3', + 'version': '10.0.0.3.4', 'category': 'GOLEM', 'author': 'Fabien Bourgeois', 'license': 'AGPL-3', diff --git a/golem_activity_registration_payment/models/golem_member.py b/golem_activity_registration_payment/models/golem_member.py index 152d496..b5fc6ab 100644 --- a/golem_activity_registration_payment/models/golem_member.py +++ b/golem_activity_registration_payment/models/golem_member.py @@ -33,7 +33,11 @@ class GolemMember(models.Model): """ Check if there are confirmed registrations with no invoice linked """ for member in self: regis = member.activity_registration_ids - regis = regis.filtered(lambda r: r.state == 'confirmed' and not r.invoice_line_id) + regis = regis.filtered( + lambda r: (r.state == 'confirmed' and + (not r.invoice_line_id or + r.invoice_line_id.invoice_id.state == 'cancel')) + ) member.has_invoicable_registrations = bool(len(regis)) def invoice_line_data_get(self, registration): @@ -48,7 +52,9 @@ class GolemMember(models.Model): self.ensure_one() member = self[0] registrations = member.activity_registration_ids.filtered( - lambda r: r.state == 'confirmed' and not r.invoice_line_id + lambda r: r.state == 'confirmed' and + (not r.invoice_line_id or + r.invoice_line_id.invoice_id.state == 'cancel') ) if registrations: invoicing = self.env['golem.activity.registration.invoicing'].create({