diff options
| -rw-r--r-- | addons/pos_sale/models/__init__.py | 1 | ||||
| -rw-r--r-- | addons/pos_sale/models/account_move.py | 28 |
2 files changed, 29 insertions, 0 deletions
diff --git a/addons/pos_sale/models/__init__.py b/addons/pos_sale/models/__init__.py index a1233390863..a819ee04965 100644 --- a/addons/pos_sale/models/__init__.py +++ b/addons/pos_sale/models/__init__.py @@ -5,3 +5,4 @@ from . import pos_config from . import pos_order from . import crm_team from . import pos_session +from . import account_move diff --git a/addons/pos_sale/models/account_move.py b/addons/pos_sale/models/account_move.py new file mode 100644 index 00000000000..2ab94c2c34e --- /dev/null +++ b/addons/pos_sale/models/account_move.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import fields, models, api + +class AccountMove(models.Model): + _inherit = 'account.move' + + def _get_invoiced_lot_values(self): + self.ensure_one() + + lot_values = super(AccountMove, self)._get_invoiced_lot_values() + + if self.state == 'draft': + return lot_values + + for order in self.pos_order_ids: + for line in order.lines: + lots = line.pack_lot_ids or False + if lots: + for lot in lots: + lot_values.append({ + 'product_name': lot.product_id.name, + 'quantity': line.qty if lot.product_id.tracking == 'lot' else 1.0, + 'uom_name': line.product_uom_id.name, + 'lot_name': lot.lot_name, + }) + + return lot_values |
