[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:
Pierre Masereel
2018-07-04 14:54:57 +02:00
parent 47384a4244
commit eae6ce7b6b
2 changed files with 25 additions and 1 deletions
@@ -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>