diff --git a/product_contract/models/sale_order_line.py b/product_contract/models/sale_order_line.py index 39d01e93..00213bac 100644 --- a/product_contract/models/sale_order_line.py +++ b/product_contract/models/sale_order_line.py @@ -181,7 +181,9 @@ class SaleOrderLine(models.Model): predecessor_contract_line = rec.contract_line_id if predecessor_contract_line: new_contract_line = contract_line_env.create( - rec._prepare_contract_line_values(contract, predecessor_contract_line.id) + rec._prepare_contract_line_values( + contract, predecessor_contract_line.id + ) ) predecessor_contract_line.successor_contract_line_id = ( new_contract_line @@ -210,7 +212,8 @@ class SaleOrderLine(models.Model): for rec in self: if rec.contract_id: if ( - rec.contract_template_id + rec.contract_id.contract_template_id + and rec.contract_template_id != rec.contract_id.contract_template_id ): raise ValidationError( diff --git a/product_contract/views/sale_order.xml b/product_contract/views/sale_order.xml index 686a8db5..41b8b0b8 100644 --- a/product_contract/views/sale_order.xml +++ b/product_contract/views/sale_order.xml @@ -29,8 +29,13 @@ position="after"> + domain="['|',('contract_template_id','=',contract_template_id), + ('contract_template_id','=',False), + ('partner_id','=',parent.partner_id), + ('recurring_invoices','=',True), + ]"/>