61 lines
1.9 KiB
Python
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')
|
|
|