[FIX] stock: move lines attributes on package_level
When you see move lines in a package level, the lots and owner are not displayed, we added them in the view.
This commit is contained in:
@@ -27,6 +27,8 @@ class StockPackageLevel(models.Model):
|
||||
is_fresh_package = fields.Boolean(compute='_compute_fresh_pack')
|
||||
|
||||
picking_source_location = fields.Many2one('stock.location', related='picking_id.location_id')
|
||||
show_lots_m2o = fields.Boolean(compute='_compute_show_lot')
|
||||
show_lots_text = fields.Boolean(compute='_compute_show_lot')
|
||||
|
||||
@api.depends('move_line_ids', 'move_line_ids.qty_done')
|
||||
def _compute_is_done(self):
|
||||
@@ -91,6 +93,23 @@ class StockPackageLevel(models.Model):
|
||||
elif package_level.move_line_ids.filtered(lambda ml: ml.state == 'cancel') or package_level.move_ids.filtered(lambda m: m.state == 'cancel'):
|
||||
package_level.state = 'cancel'
|
||||
|
||||
def _compute_show_lot(self):
|
||||
for package_level in self:
|
||||
if any(ml.product_id.tracking != 'none' for ml in package_level.move_line_ids):
|
||||
if package_level.picking_id.picking_type_id.use_existing_lots or package_level.state == 'done':
|
||||
package_level.show_lots_m2o = True
|
||||
package_level.show_lots_text = False
|
||||
else:
|
||||
if self.picking_id.picking_type_id.use_create_lots and package_level.state != 'done':
|
||||
package_level.show_lots_m2o = False
|
||||
package_level.show_lots_text = True
|
||||
else:
|
||||
package_level.show_lots_m2o = False
|
||||
package_level.show_lots_text = False
|
||||
else:
|
||||
package_level.show_lots_m2o = False
|
||||
package_level.show_lots_text = False
|
||||
|
||||
|
||||
@api.onchange('package_id')
|
||||
def _onchange_package_id(self):
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
<group>
|
||||
<field name="picking_id" invisible="1"/>
|
||||
<field name="picking_source_location" invisible="1"/>
|
||||
<field name="show_lots_m2o" invisible="1"/>
|
||||
<field name="show_lots_text" invisible="1"/>
|
||||
<group>
|
||||
<field name="package_id"/>
|
||||
<field name="location_id"/>
|
||||
@@ -29,9 +31,12 @@
|
||||
<field name="move_line_ids" attrs="{'invisible': [('state', 'in', ('draft', 'confirmed', 'cancel'))]}">
|
||||
<tree>
|
||||
<field name="product_id"/>
|
||||
<field name="lot_id" attrs="{'column_invisible': [('parent.show_lots_m2o', '=', False)]}" groups="stock.group_production_lot"/>
|
||||
<field name="lot_name" attrs="{'column_invisible': [('parent.show_lots_text', '=', False)]}" groups="stock.group_production_lot"/>
|
||||
<field name="owner_id" groups="stock.group_tracking_owner"/>
|
||||
<field name="product_uom_qty"/>
|
||||
<field name="product_uom_id"/>
|
||||
<field name="qty_done"/>
|
||||
<field name="product_uom_id" options="{'no_open': True, 'no_create': True}" attrs="{'readonly': [('product_uom_qty', '!=', 0.0)]}" string="Unit of Measure" groups="uom.group_uom"/>
|
||||
<field name="state" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
||||
Reference in New Issue
Block a user