Merge pull request #2135 from expsa/samir-aladawi-fix-date-hr

[FIX] exp_payroll_custom: use date instead of datetime
This commit is contained in:
SamirLADOUI-sa 2025-01-15 13:13:06 +01:00 committed by GitHub
commit 8e7cca7a7c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 11 deletions

View File

@ -488,7 +488,7 @@ class SalaryRuleInput(models.Model):
#if payslip.date_from >= holiday.date_from and payslip.date_to >= holiday.date_to:
if payslip_date_from >= holiday_date_from and payslip_date_to >= holiday_date_to:
start_date = datetime.strptime(payslip_date_from, "%Y-%m-%d").date()
end_date = datetime.strptime(holiday_date_to, "%Y-%m-%d %H:%M:%S").date() + timedelta(
end_date = datetime.strptime(holiday_date_to, "%Y-%m-%d").date() + timedelta(
days=1)
number_of_days = relativedelta(end_date, start_date).days
if number_of_days >= 0: # number_of_days <= 0
@ -539,9 +539,10 @@ class SalaryRuleInput(models.Model):
'number_of_hours': holiday.holiday_status_id.percentage,
'contract_id': payslip.contract_id.id})]
elif holiday.holiday_status_id.payslip_type == 'addition':
if payslip.date_from >= holiday.date_from and payslip.date_to >= holiday.date_to:
start_date = datetime.strptime(str(payslip.date_from), "%Y-%m-%d").date()
end_date = datetime.strptime(str(holiday.date_to), "%Y-%m-%d %H:%M:%S").date() + timedelta(
# if payslip.date_from >= holiday.date_from and payslip.date_to >= holiday.date_to:
if payslip_date_from >= holiday_date_from and payslip_date_to >= holiday_date_to:
start_date = datetime.strptime(str(payslip_date_from), "%Y-%m-%d").date()
end_date = datetime.strptime(str(holiday_date_to), "%Y-%m-%d").date() + timedelta(
days=1)
number_of_days = relativedelta(end_date, start_date).days
if number_of_days >= 0: # number_of_days <= 0
@ -553,7 +554,7 @@ class SalaryRuleInput(models.Model):
'number_of_days': number_of_days,
'number_of_hours': 0.0,
'contract_id': payslip.contract_id.id})]
elif payslip.date_to >= holiday.date_to and holiday.date_from >= payslip.date_from:
elif payslip_date_to >= holiday_date_to and holiday_date_from >= payslip_date_from:
if holiday.number_of_days_temp >= 0: # holiday.number_of_days_temp <= 0
payslip.worked_days_line_ids = [(0, 0, {
'name': "Additional Paid Holidays",
@ -563,9 +564,9 @@ class SalaryRuleInput(models.Model):
'number_of_days': holiday.number_of_days_temp,
'number_of_hours': 0.0,
'contract_id': payslip.contract_id.id})]
elif holiday.date_from >= payslip.date_from and payslip.date_to <= holiday.date_to:
start_date = datetime.strptime(str(holiday.date_from), "%Y-%m-%d %H:%M:%S").date()
end_date = datetime.strptime(str(payslip.date_to), "%Y-%m-%d").date()
elif holiday_date_from >= payslip_date_from and payslip_date_to <= holiday_date_to:
start_date = datetime.strptime(str(holiday_date_from), "%Y-%m-%d").date()
end_date = datetime.strptime(str(payslip_date_to), "%Y-%m-%d").date()
number_of_days = relativedelta(end_date, start_date).days + 1
if number_of_days >= 0: # number_of_days <= 0
payslip.worked_days_line_ids = [(0, 0, {
@ -577,9 +578,9 @@ class SalaryRuleInput(models.Model):
'number_of_hours': 0.0,
'contract_id': payslip.contract_id.id})]
else:
if payslip.date_to <= holiday.date_to:
start_date = datetime.strptime(str(payslip.date_from), "%Y-%m-%d").date()
end_date = datetime.strptime(str(payslip.date_to), "%Y-%m-%d").date() + timedelta(
if payslip_date_to <= holiday_date_to:
start_date = datetime.strptime(str(payslip_date_from), "%Y-%m-%d").date()
end_date = datetime.strptime(str(payslip_date_to), "%Y-%m-%d").date() + timedelta(
days=1)
number_of_days = relativedelta(end_date, start_date).days
if number_of_days >= 0: # number_of_days <= 0