Files

35 lines
1.1 KiB
Python
Raw Permalink Normal View History

2014-12-02 12:56:22 +01:00
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
2015-09-22 19:26:13 +02:00
from trytond.model import fields
2023-01-19 11:25:25 +01:00
from trytond.pool import PoolMeta
2015-09-22 19:26:13 +02:00
from .company import price_digits
2013-07-14 10:42:07 +02:00
2020-03-01 12:33:54 +01:00
class Line(metaclass=PoolMeta):
2013-07-14 10:42:07 +02:00
__name__ = 'timesheet.line'
2015-09-22 19:26:13 +02:00
cost_price = fields.Numeric('Cost Price',
digits=price_digits, required=True, readonly=True)
2013-07-14 10:42:07 +02:00
2015-09-22 19:26:13 +02:00
@classmethod
def default_cost_price(cls):
# Needed at creation as cost_price is required
return 0
@classmethod
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)
return values
2015-09-22 19:26:13 +02:00
2025-02-28 12:27:32 +01:00
def compute_fields(self, field_names=None):
values = super().compute_fields(field_names=field_names)
cost_price = self.employee.compute_cost_price(date=self.date)
if getattr(self, 'cost_price', None) != cost_price:
values['cost_price'] = cost_price
return values