Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0][FIX] hr_holidays_public: keep 'employee_id' field amongst method calls #164

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions hr_holidays_public/models/hr_holidays_public.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,11 @@ def get_holidays_list(
return self.env["hr.holidays.public.line"]
partner_id = partner.id if partner else None
states_filter = self._get_domain_states_filter(
pholidays, start_dt, end_dt, partner_id=partner_id
pholidays,
start_dt,
end_dt,
partner_id=partner_id,
employee_id=employee_id,
)
hhplo = self.env["hr.holidays.public.line"]
holidays_lines = hhplo.search(states_filter)
Expand All @@ -125,7 +129,7 @@ def is_public_holiday(self, selected_date, employee_id=None, partner_id=None):
partner = self._get_partner_deprecated_employee(partner_id, employee_id)
partner_id = partner.id if partner else None
holidays_lines = self.get_holidays_list(
year=selected_date.year, partner_id=partner_id
year=selected_date.year, partner_id=partner_id, employee_id=employee_id
)
if holidays_lines:
hol_date = holidays_lines.filtered(lambda r: r.date == selected_date)
Expand All @@ -135,20 +139,15 @@ def is_public_holiday(self, selected_date, employee_id=None, partner_id=None):

def _get_partner_deprecated_employee(self, partner_id, employee_id):
# TODO: Drop function in next migration
employee = False
partner = False
if employee_id is not None:
_logger.warning(
"Use of employee_id for hr.public.holidays is deprecated. "
"Please use partner_id instead."
)
employee = self.env["hr.employee"].browse(employee_id)
partner = employee.address_id
if partner_id:
if partner:
_logger.warning(
"Cannot use both employee_id and address_id in parameters. "
"Ignoring employee_id."
"Both 'employee_id' and 'partner_id' were provided in the "
"method's parameters. Ignoring 'employee_id'."
)
partner = self.env["res.partner"].browse(partner_id)
return partner
Expand Down