Cancel the shipments before deleting it
issue6832 review42711002
This commit is contained in:
1 parent
b50f79cade
commit
bdd050b04f
1 file changed
+16
@@ -272,6 +272,8 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
|
||||
cls._error_messages.update({
|
||||
'reset_move': ('You cannot reset to draft move "%s" which was '
|
||||
'generated by a sale or a purchase.'),
|
||||
'delete_cancel': ('Drop Shipment "%(shipment)s" must be '
|
||||
'cancelled before deletion.'),
|
||||
})
|
||||
|
||||
@staticmethod
|
||||
@@ -386,6 +388,20 @@ class ShipmentDrop(Workflow, ModelSQL, ModelView):
|
||||
default['moves'] = None
|
||||
return super(ShipmentDrop, cls).copy(shipments, default=default)
|
||||
|
||||
@classmethod
|
||||
def delete(cls, shipments):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
|
||||
cls.cancel(shipments)
|
||||
for shipment in shipments:
|
||||
if shipment.state != 'cancel':
|
||||
cls.raise_user_error('delete_cancel', {
|
||||
'shipment': shipment.rec_name,
|
||||
})
|
||||
Move.delete([m for s in shipments for m in s.supplier_moves])
|
||||
super(ShipmentDrop, cls).delete(shipments)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('cancel')
|
||||
|
||||
Reference in new issue
Block a user