first commit
This commit is contained in:
34
modules/timesheet_cost/timesheet.py
Normal file
34
modules/timesheet_cost/timesheet.py
Normal file
@@ -0,0 +1,34 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from trytond.model import fields
|
||||
from trytond.pool import PoolMeta
|
||||
|
||||
from .company import price_digits
|
||||
|
||||
|
||||
class Line(metaclass=PoolMeta):
|
||||
__name__ = 'timesheet.line'
|
||||
|
||||
cost_price = fields.Numeric('Cost Price',
|
||||
digits=price_digits, required=True, readonly=True)
|
||||
|
||||
@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
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user