stock/wizard/stock_track_confirmation.py

37 lines
1.4 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models
class StockTrackConfirmation(models.TransientModel):
_name = 'stock.track.confirmation'
_description = 'Stock Track Confirmation'
tracking_line_ids = fields.One2many('stock.track.line', 'wizard_id')
quant_ids = fields.Many2many('stock.quant', string='Quants')
product_ids = fields.Many2many('product.product', string='Products')
def action_confirm(self):
self.quant_ids._apply_inventory()
self.quant_ids.inventory_quantity_set = False
@api.onchange('product_ids')
def _onchange_quants(self):
self.tracking_line_ids = [(0, 0, {'product_id': product}) for product in self.product_ids]
class StockTrackingLines(models.TransientModel):
_name = 'stock.track.line'
_description = 'Stock Track Line'
product_display_name = fields.Char('Name', compute='_compute_product_display_name', readonly=True)
product_id = fields.Many2one('product.product', 'Product', readonly=True)
tracking = fields.Selection(related='product_id.tracking')
wizard_id = fields.Many2one('stock.track.confirmation', readonly=True)
def _compute_product_display_name(self):
""" Onchange results in product.display_name not being directly accessible """
for line in self:
line.product_display_name = line.product_id._origin.display_name