diff --git a/event_generate_quotation_from_registration/models/event_registration.py b/event_generate_quotation_from_registration/models/event_registration.py index f862595..ec7e575 100644 --- a/event_generate_quotation_from_registration/models/event_registration.py +++ b/event_generate_quotation_from_registration/models/event_registration.py @@ -36,8 +36,9 @@ class EventRegistration(models.Model): financier.quotation_id = sale_order else: order_lines = self.env['sale.order.line'].search([ - ('order_id','=',financier.quotation_id.id), - ('product_id','=',financier.get_product_id()) + ('order_id','=',financier.quotation_id.id), + ('product_id','=',financier.get_product_id()), + ('state', '!=', 'done'), ]) if order_lines: order_lines[0].price_unit = financier.amount diff --git a/event_generate_quotation_from_registration/models/event_registration_financier.py b/event_generate_quotation_from_registration/models/event_registration_financier.py index 67dce93..6299dae 100644 --- a/event_generate_quotation_from_registration/models/event_registration_financier.py +++ b/event_generate_quotation_from_registration/models/event_registration_financier.py @@ -17,6 +17,10 @@ class EventRegistrationFinancier(models.Model): financier_id = fields.Many2one('res.partner', string="Financeur", required=True) terms = fields.Char('Modalités') amount = fields.Monetary('Montant', currency_field="company_currency_id") + state = fields.Selection( + related='quotation_id.state', + string="Order Status", + copy=False, store=True, precompute=True) def get_product_id(self): diff --git a/event_generate_quotation_from_registration/views/event_registration_views.xml b/event_generate_quotation_from_registration/views/event_registration_views.xml index b8eebd6..095df3b 100644 --- a/event_generate_quotation_from_registration/views/event_registration_views.xml +++ b/event_generate_quotation_from_registration/views/event_registration_views.xml @@ -10,9 +10,10 @@ - - - + + + +