# Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import fields, models class HrContract(models.Model): """ Employee contract based on the visa, work permits allows to configure different Salary structure """ _inherit = "hr.contract" _description = "Employee Contract" struct_id = fields.Many2one("hr.payroll.structure", string="Salary Structure") schedule_pay = fields.Selection( [ ("monthly", "Monthly"), ("quarterly", "Quarterly"), ("semi-annually", "Semi-annually"), ("annually", "Annually"), ("weekly", "Weekly"), ("bi-weekly", "Bi-weekly"), ("bi-monthly", "Bi-monthly"), ], string="Scheduled Pay", index=True, default="monthly", help="Defines the frequency of the wage payment.", ) resource_calendar_id = fields.Many2one( required=True, help="Employee's working schedule." ) def get_all_structures(self): """ @return: the structures linked to the given contracts, ordered by hierachy (parent=False first, then first level children and so on) and without duplicates """ structures = self.mapped("struct_id") if not structures: return [] # YTI TODO return browse records return list(set(structures._get_parent_structure().ids))