pos_loyalty_marketing_access/models/pos_config.py
2026-05-28 10:07:53 +07:00

61 lines
1.9 KiB
Python

# -*- 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')