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 3f3b753a6..b13f1b583 100644 --- a/odex25_hr/exp_payroll_custom/models/hr_advance_payslip.py +++ b/odex25_hr/exp_payroll_custom/models/hr_advance_payslip.py @@ -539,10 +539,9 @@ 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: - 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( + 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( days=1) number_of_days = relativedelta(end_date, start_date).days if number_of_days >= 0: # number_of_days <= 0 @@ -554,7 +553,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", @@ -564,9 +563,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").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 %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, { @@ -578,9 +577,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 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 (