diff --git a/addons/hr_homeworking/models/hr_employee.py b/addons/hr_homeworking/models/hr_employee.py index 2ec269ab28d..651a653ed1b 100644 --- a/addons/hr_homeworking/models/hr_employee.py +++ b/addons/hr_homeworking/models/hr_employee.py @@ -77,10 +77,12 @@ class HrEmployeeBase(models.AbstractModel): def _get_worklocation(self, start_date, end_date): work_locations_by_employee = defaultdict(dict) for employee in self: - work_locations_by_employee[employee.id]["user_id"] = employee.user_id.id - work_locations_by_employee[employee.id]["employee_id"] = employee.id - work_locations_by_employee[employee.id]["partner_id"] = employee.user_partner_id.id - work_locations_by_employee[employee.id]["employee_name"] = employee.name + work_locations_by_employee[employee.id].update({ + "user_id": employee.user_id.id, + "employee_id": employee.id, + "partner_id": employee.user_partner_id.id or employee.work_contact_id.id, + "employee_name": employee.name + }) for day in DAYS: work_locations_by_employee[employee.id][day] = { diff --git a/addons/hr_homeworking/static/src/calendar/common/calendar_model.js b/addons/hr_homeworking/static/src/calendar/common/calendar_model.js index bd97ff128b2..837d4abdef8 100644 --- a/addons/hr_homeworking/static/src/calendar/common/calendar_model.js +++ b/addons/hr_homeworking/static/src/calendar/common/calendar_model.js @@ -2,6 +2,7 @@ import { AttendeeCalendarModel } from "@calendar/views/attendee_calendar/attendee_calendar_model"; import { serializeDateTime } from "@web/core/l10n/dates"; +import { getColor } from "@web/views/calendar/colors"; import { patch } from "@web/core/utils/patch"; const { Interval } = luxon; @@ -113,10 +114,11 @@ patch(AttendeeCalendarModel.prototype, { get worklocations() { return this.data.worklocations; }, + mapPartnersToColor(data) { return data.filterSections.partner_ids.filters .filter(filter => filter.type !== "all" && filter.value) - .reduce((map, partner) => ({ ...map, [partner.value]: partner.colorIndex}), {}) + .reduce((map, partner) => ({ ...map, [partner.value]: getColor(partner.colorIndex)}), {}) }, /**