Enforce domain on ignored and recreated invoices and stock moves

This commit is contained in:
Cédric Krier
2024-03-01 14:55:14 +01:00
parent ef56a18b3c
commit df31d37ae5
2 changed files with 40 additions and 8 deletions
+20 -4
View File
@@ -1048,7 +1048,11 @@ class PurchaseIgnoredInvoice(ModelSQL):
purchase = fields.Many2One(
'purchase.purchase', "Purchase", ondelete='CASCADE', required=True)
invoice = fields.Many2One(
'account.invoice', "Invoice", ondelete='RESTRICT', required=True)
'account.invoice', "Invoice", ondelete='RESTRICT', required=True,
domain=[
('purchases', '=', Eval('purchase', -1)),
('state', '=', 'cancelled'),
])
@classmethod
def __register__(cls, module):
@@ -1064,7 +1068,11 @@ class PurchaseRecreatedInvoice(ModelSQL):
purchase = fields.Many2One(
'purchase.purchase', "Purchase", ondelete='CASCADE', required=True)
invoice = fields.Many2One(
'account.invoice', "Invoice", ondelete='RESTRICT', required=True)
'account.invoice', "Invoice", ondelete='RESTRICT', required=True,
domain=[
('purchases', '=', Eval('purchase', -1)),
('state', '=', 'cancelled'),
])
@classmethod
def __register__(cls, module):
@@ -2064,7 +2072,11 @@ class LineIgnoredMove(ModelSQL):
purchase_line = fields.Many2One(
'purchase.line', "Purchase Line", ondelete='CASCADE', required=True)
move = fields.Many2One(
'stock.move', "Move", ondelete='RESTRICT', required=True)
'stock.move', "Move", ondelete='RESTRICT', required=True,
domain=[
('origin.id', '=', Eval('purchase_line', -1), 'purchase.line'),
('state', '=', 'cancelled'),
])
@classmethod
def __register__(cls, module):
@@ -2080,7 +2092,11 @@ class LineRecreatedMove(ModelSQL):
purchase_line = fields.Many2One(
'purchase.line', "Purchase Line", ondelete='CASCADE', required=True)
move = fields.Many2One(
'stock.move', "Move", ondelete='RESTRICT', required=True)
'stock.move', "Move", ondelete='RESTRICT', required=True,
domain=[
('origin.id', '=', Eval('purchase_line', -1), 'purchase.line'),
('state', '=', 'cancelled'),
])
@classmethod
def __register__(cls, module):
+20 -4
View File
@@ -1185,7 +1185,11 @@ class SaleIgnoredInvoice(ModelSQL):
sale = fields.Many2One(
'sale.sale', "Sale", ondelete='CASCADE', required=True)
invoice = fields.Many2One(
'account.invoice', "Invoice", ondelete='RESTRICT', required=True)
'account.invoice', "Invoice", ondelete='RESTRICT', required=True,
domain=[
('sales', '=', Eval('sale', -1)),
('state', '=', 'cancelled'),
])
@classmethod
def __register__(cls, module):
@@ -1201,7 +1205,11 @@ class SaleRecreatedInvoice(ModelSQL):
sale = fields.Many2One(
'sale.sale', "Sale", ondelete='CASCADE', required=True)
invoice = fields.Many2One(
'account.invoice', "Invoice", ondelete='RESTRICT', required=True)
'account.invoice', "Invoice", ondelete='RESTRICT', required=True,
domain=[
('sales', '=', Eval('sale', -1)),
('state', '=', 'cancelled'),
])
@classmethod
def __register__(cls, module):
@@ -2114,7 +2122,11 @@ class SaleLineIgnoredMove(ModelSQL):
sale_line = fields.Many2One(
'sale.line', "Sale Line", ondelete='CASCADE', required=True)
move = fields.Many2One(
'stock.move', "Move", ondelete='RESTRICT', required=True)
'stock.move', "Move", ondelete='RESTRICT', required=True,
domain=[
('origin.id', '=', Eval('sale_line', -1), 'sale.line'),
('state', '=', 'cancelled'),
])
@classmethod
def __register__(cls, module):
@@ -2130,7 +2142,11 @@ class SaleLineRecreatedMove(ModelSQL):
sale_line = fields.Many2One(
'sale.line', "Sale Line", ondelete='CASCADE', required=True)
move = fields.Many2One(
'stock.move', "Move", ondelete='RESTRICT', required=True)
'stock.move', "Move", ondelete='RESTRICT', required=True,
domain=[
('origin.id', '=', Eval('sale_line', -1), 'sale.line'),
('state', '=', 'cancelled'),
])
@classmethod
def __register__(cls, module):