diff --git a/liquidation.py b/liquidation.py index fd18a65..83508dc 100644 --- a/liquidation.py +++ b/liquidation.py @@ -809,10 +809,10 @@ class LiquidationLine(ModelSQL, ModelView): table_h.drop_column('hoard_amount') super(LiquidationLine, cls).__register__(module_name) - @fields.depends('wage_type') + @fields.depends('wage') def on_change_with_is_wage_tax(self, name=None): - if self.wage_type: - return self.wage_type.type_concept == 'tax' + if self.wage: + return self.wage.type_concept == 'tax' return False def get_party(self, name=None): diff --git a/payroll.py b/payroll.py index 4610361..7ffa51b 100644 --- a/payroll.py +++ b/payroll.py @@ -198,31 +198,32 @@ class Payroll(metaclass=PoolMeta): end_date = None self.contract = contract contract_end_date = None + contract_start_date = contract.start_date if contract: if not contract.finished_date: end_date = period_end - if period_start >= contract.start_date: + if period_start >= contract_start_date: start_date = period_start - elif contract.start_date >= period_start and \ - contract.start_date <= period_end: - start_date = contract.start_date + elif contract_start_date >= period_start and \ + contract_start_date <= period_end: + start_date = contract_start_date else: contract_end_date = contract.finished_date if contract.finished_date else contract.end_date - if contract.start_date <= period_start and \ + if contract_start_date <= period_start and \ contract_end_date >= period_end: start_date = period_start end_date = period_end - elif contract.start_date >= period_start and \ + elif contract_start_date >= period_start and \ contract_end_date <= period_end: - start_date = contract.start_date + start_date = contract_start_date end_date = contract_end_date - elif contract.start_date >= period_start and \ - contract.start_date <= period_end and \ + elif contract_start_date >= period_start and \ + contract_start_date <= period_end and \ contract_end_date >= period_end: - start_date = contract.start_date + start_date = contract_start_date end_date = period_end - elif contract.start_date <= period_start and \ + elif contract_start_date <= period_start and \ contract_end_date >= period_start and \ contract_end_date <= period_end: start_date = period_start