diff --git a/modules/purchase/stock.py b/modules/purchase/stock.py index 66001672cc..4caeb0f30d 100644 --- a/modules/purchase/stock.py +++ b/modules/purchase/stock.py @@ -52,11 +52,9 @@ class ShipmentIn(metaclass=PoolMeta): @ModelView.button @Workflow.transition('draft') def draft(cls, shipments): - PurchaseLine = Pool().get('purchase.line') for shipment in shipments: for move in shipment.incoming_moves: - if (move.state == 'cancelled' - and isinstance(move.origin, PurchaseLine)): + if move.state == 'cancelled' and move.purchase: raise AccessError( gettext('purchase.msg_purchase_move_reset_draft', move=move.rec_name)) @@ -91,11 +89,9 @@ class ShipmentInReturn(metaclass=PoolMeta): @ModelView.button @Workflow.transition('draft') def draft(cls, shipments): - PurchaseLine = Pool().get('purchase.line') for shipment in shipments: for move in shipment.moves: - if (move.state == 'cancelled' - and isinstance(move.origin, PurchaseLine)): + if move.state == 'cancelled' and move.purchase: raise AccessError( gettext('purchase.msg_purchase_move_reset_draft', move=move.rec_name)) diff --git a/modules/sale/stock.py b/modules/sale/stock.py index 79487e3c94..519dbbd9a5 100644 --- a/modules/sale/stock.py +++ b/modules/sale/stock.py @@ -38,11 +38,9 @@ class ShipmentOut(metaclass=PoolMeta): @ModelView.button @Workflow.transition('draft') def draft(cls, shipments): - SaleLine = Pool().get('sale.line') for shipment in shipments: for move in shipment.outgoing_moves: - if (move.state == 'cancelled' - and isinstance(move.origin, SaleLine)): + if move.state == 'cancelled' and move.sale: raise AccessError( gettext('sale.msg_sale_move_reset_draft', move=move.rec_name)) @@ -71,11 +69,9 @@ class ShipmentOutReturn(metaclass=PoolMeta): @ModelView.button @Workflow.transition('draft') def draft(cls, shipments): - SaleLine = Pool().get('sale.line') for shipment in shipments: for move in shipment.incoming_moves: - if (move.state == 'cancelled' - and isinstance(move.origin, SaleLine)): + if move.state == 'cancelled' and move.sale: raise AccessError( gettext('sale.msg_sale_move_reset_draft', move=move.rec_name)) diff --git a/modules/sale_advance_payment/stock.py b/modules/sale_advance_payment/stock.py index b2d9d71465..4116a36736 100644 --- a/modules/sale_advance_payment/stock.py +++ b/modules/sale_advance_payment/stock.py @@ -17,12 +17,11 @@ class ShipmentOut(metaclass=PoolMeta): def pack(cls, shipments): pool = Pool() Sale = pool.get('sale.sale') - SaleLine = pool.get('sale.line') - sales = {move.origin.sale - for shipment in shipments for move in shipment.moves - if isinstance(move.origin, SaleLine)} - for sale in Sale.browse([s.id for s in sales]): + sales = { + move.sale for shipment in shipments for move in shipment.moves + if move.sale} + for sale in Sale.browse(sales): if sale.shipping_blocked: raise ShippingBlocked( gettext('sale_advance_payment.msg_shipping_blocked',