fix on_change_with_is_Wage_tax

This commit is contained in:
Wilson Gomez 2023-10-13 14:49:52 -05:00
parent 02ab69bf4e
commit e161a8b80c
2 changed files with 15 additions and 14 deletions

View File

@ -809,10 +809,10 @@ class LiquidationLine(ModelSQL, ModelView):
table_h.drop_column('hoard_amount') table_h.drop_column('hoard_amount')
super(LiquidationLine, cls).__register__(module_name) super(LiquidationLine, cls).__register__(module_name)
@fields.depends('wage_type') @fields.depends('wage')
def on_change_with_is_wage_tax(self, name=None): def on_change_with_is_wage_tax(self, name=None):
if self.wage_type: if self.wage:
return self.wage_type.type_concept == 'tax' return self.wage.type_concept == 'tax'
return False return False
def get_party(self, name=None): def get_party(self, name=None):

View File

@ -198,31 +198,32 @@ class Payroll(metaclass=PoolMeta):
end_date = None end_date = None
self.contract = contract self.contract = contract
contract_end_date = None contract_end_date = None
contract_start_date = contract.start_date
if contract: if contract:
if not contract.finished_date: if not contract.finished_date:
end_date = period_end end_date = period_end
if period_start >= contract.start_date: if period_start >= contract_start_date:
start_date = period_start start_date = period_start
elif contract.start_date >= period_start and \ elif contract_start_date >= period_start and \
contract.start_date <= period_end: contract_start_date <= period_end:
start_date = contract.start_date start_date = contract_start_date
else: else:
contract_end_date = contract.finished_date if contract.finished_date else contract.end_date 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: contract_end_date >= period_end:
start_date = period_start start_date = period_start
end_date = period_end end_date = period_end
elif contract.start_date >= period_start and \ elif contract_start_date >= period_start and \
contract_end_date <= period_end: contract_end_date <= period_end:
start_date = contract.start_date start_date = contract_start_date
end_date = contract_end_date end_date = contract_end_date
elif contract.start_date >= period_start and \ elif contract_start_date >= period_start and \
contract.start_date <= period_end and \ contract_start_date <= period_end and \
contract_end_date >= period_end: contract_end_date >= period_end:
start_date = contract.start_date start_date = contract_start_date
end_date = period_end 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_start and \
contract_end_date <= period_end: contract_end_date <= period_end:
start_date = period_start start_date = period_start