mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
27 lines
970 B
Python
27 lines
970 B
Python
# -*- coding: utf-8 -*-
|
||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||
|
||
from odoo import api, fields, models, tools, _
|
||
|
||
|
||
class Users(models.Model):
|
||
_inherit = "res.users"
|
||
|
||
# 注意,res.partner 有 parent_id 和 child_ids
|
||
_parent_name = "user_parent_id"
|
||
_parent_store = True
|
||
parent_path = fields.Char(index=True)
|
||
|
||
user_parent_id = fields.Many2one('res.users', string='Parent User', index=True)
|
||
user_child_ids = fields.One2many('res.users', 'user_parent_id', string='Sub Users', domain=[('active', '=', True)])
|
||
|
||
user_child_all_count = fields.Integer(
|
||
'Indirect Surbordinates Count',
|
||
compute='_compute_user_child_all_count', store=False)
|
||
|
||
|
||
@api.depends('user_child_ids.user_child_all_count')
|
||
def _compute_user_child_all_count(self):
|
||
for rec in self:
|
||
rec.user_child_all_count = len(rec.user_child_ids) + sum(child.user_child_all_count for child in rec.user_child_ids)
|