# -*- coding: utf-8 -*- from odoo import api, fields, models class ResCompany(models.Model): _inherit = 'res.company' marketing_program_approver_id = fields.Many2one( 'res.users', string='Marketing Program Approver', help='User authorized to approve marketing programs for this company.' ) voucher_generation_approver_id = fields.Many2one( 'res.users', string='Voucher Generation Approver', help='User authorized to approve voucher generation requests for this company.' ) def _get_marketing_program_approver(self): self.ensure_one() comp = self while comp: if comp.marketing_program_approver_id: return comp.marketing_program_approver_id comp = comp.parent_id return self.env['res.users'] def _get_voucher_generation_approver(self): self.ensure_one() comp = self while comp: if comp.voucher_generation_approver_id: return comp.voucher_generation_approver_id comp = comp.parent_id return self.env['res.users'] class PosConfig(models.Model): _inherit = 'pos.config' marketing_program_approver_id = fields.Many2one( 'res.users', related='company_id.marketing_program_approver_id', readonly=False, string='Marketing Program Approver', help='User authorized to approve marketing programs.' ) voucher_generation_approver_id = fields.Many2one( 'res.users', related='company_id.voucher_generation_approver_id', readonly=False, string='Voucher Generation Approver', help='User authorized to approve voucher generation requests.' ) def _get_program_ids(self): res = super()._get_program_ids() if not res: return res return res.filtered(lambda p: p.state == 'approved')