From 5c2eccbbb1b5ccf9d016cec8a2c5b6db1abd3f13 Mon Sep 17 00:00:00 2001 From: Bakry Date: Tue, 14 Jan 2025 17:59:58 +0300 Subject: [PATCH 1/2] fix payroll str holiday percentage --- .../exp_payroll_custom/models/hr_advance_payslip.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/odex25_hr/exp_payroll_custom/models/hr_advance_payslip.py b/odex25_hr/exp_payroll_custom/models/hr_advance_payslip.py index 3f9803fa4..e1dec037a 100644 --- a/odex25_hr/exp_payroll_custom/models/hr_advance_payslip.py +++ b/odex25_hr/exp_payroll_custom/models/hr_advance_payslip.py @@ -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(str(holiday.date_to), "%Y-%m-%d %H:%M:%S").date() + timedelta( days=1) number_of_days = relativedelta(end_date, start_date).days if number_of_days >= 0: # number_of_days <= 0 @@ -511,8 +511,8 @@ class SalaryRuleInput(models.Model): 'number_of_hours': holiday.holiday_status_id.percentage, 'contract_id': payslip.contract_id.id})] elif holiday_date_from >= payslip_date_from and payslip_date_to <= holiday_date_to: - start_date = datetime.strptime(holiday_date_from, "%Y-%m-%d %H:%M:%S").date() - end_date = datetime.strptime(payslip_date_to, "%Y-%m-%d").date() + 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() 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, { @@ -525,8 +525,8 @@ class SalaryRuleInput(models.Model): 'contract_id': payslip.contract_id.id})] else: if payslip_date_to <= holiday_date_to: - start_date = datetime.strptime(payslip_date_from, "%Y-%m-%d").date() - end_date = datetime.strptime(payslip_date_to, "%Y-%m-%d").date() + timedelta( + 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 From 6ef03fb757995c1a01c9bf55d7abc63fba75f16e Mon Sep 17 00:00:00 2001 From: Bakry Date: Wed, 15 Jan 2025 13:02:09 +0300 Subject: [PATCH 2/2] fix --- odex25_hr/hr_holidays_public/models/hr_holidays.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/odex25_hr/hr_holidays_public/models/hr_holidays.py b/odex25_hr/hr_holidays_public/models/hr_holidays.py index 4f0c85b12..e74a19576 100644 --- a/odex25_hr/hr_holidays_public/models/hr_holidays.py +++ b/odex25_hr/hr_holidays_public/models/hr_holidays.py @@ -255,8 +255,8 @@ class HRHolidays(models.Model): raise ValidationError(_('Sorry you have no balance')) worked_days = ((datetime.utcnow() + timedelta(hours=3)).date() - datetime.strptime(str(rec.employee_id.first_hiring_date), "%Y-%m-%d").date()).days + 1 - if worked_days < rec.holiday_status_id.number_of_days: - raise exceptions.Warning(_('Sorry you can not create leave request you have not holidays')) + #if worked_days < rec.holiday_status_id.number_of_days: + # raise exceptions.Warning(_('Sorry you can not create leave request you have not holidays')) #### Delete upcoming_leave and add up## if rec.number_of_days_temp > rec.leave_balance_date and rec.state != 'validate1' and not (