Use ModelStorage hooks instead of extending create/write/delete

This commit is contained in:
Cédric Krier
2025-04-06 00:14:17 +02:00
parent 45122b77c0
commit 5aeff66acd
142 changed files with 2104 additions and 3189 deletions
+4 -16
View File
@@ -106,20 +106,8 @@ class EmployeeCostPrice(ModelSQL, ModelView):
return str(self.date)
@classmethod
def delete(cls, prices):
Employee = Pool().get('company.employee')
super().delete(prices)
Employee._cost_prices_cache.clear()
@classmethod
def create(cls, vlist):
Employee = Pool().get('company.employee')
prices = super().create(vlist)
Employee._cost_prices_cache.clear()
return prices
@classmethod
def write(cls, *args):
Employee = Pool().get('company.employee')
super().write(*args)
def on_modification(cls, mode, prices, field_names=None):
pool = Pool()
Employee = pool.get('company.employee')
super().on_modification(mode, prices, field_names=field_names)
Employee._cost_prices_cache.clear()
+5 -6
View File
@@ -19,13 +19,12 @@ class Line(metaclass=PoolMeta):
return 0
@classmethod
def create(cls, vlist):
# XXX Remove cost_price because proteus set it as default value
vlist = [v.copy() for v in vlist]
for values in vlist:
def preprocess_values(cls, mode, values):
values = super().preprocess_values(mode, values)
if mode == 'create':
# XXX Remove cost_price because proteus set it as default value
values.pop('cost_price', None)
lines = super().create(vlist)
return lines
return values
@classmethod
def compute_fields(self, field_names=None):