You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
944 B
27 lines
944 B
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class SaleOrder(models.Model):
|
|
_inherit = 'sale.order'
|
|
|
|
contract_id = fields.Many2one(
|
|
comodel_name="contract.contract",
|
|
string="Contract"
|
|
)
|
|
|
|
@api.multi
|
|
def action_confirm(self):
|
|
res = super(SaleOrder, self).action_confirm()
|
|
invoice_ids = self.env['account.invoice'].search([
|
|
('partner_id', '=', self.partner_id.id),
|
|
('old_contract_id', '=', self.contract_id.id),
|
|
('state', '=', 'draft')])
|
|
|
|
for invoice_id in invoice_ids:
|
|
for order_line in self.order_line:
|
|
for invoice_line in invoice_id.invoice_line_ids:
|
|
if order_line.product_id.id == invoice_line.product_id.id:
|
|
invoice_line.quantity += order_line.product_uom_qty
|
|
self.action_invoice_create()
|
|
return res
|