name = fields.Many2one(’hr.employee’, string=” 申请人”, readonly=True)
manager = fields.Many2one(’hr.employee’, string=” 主管”,readonly=True)
current_name = fields.Many2one(’hr.employee’, string=” 当前登录人”,compute=”_get_current_name”)
def _get_current_name(self):
uid = self.env.uid
res = self.env[’resource.resource’].search([(’user_id’,’=’,uid)])
name = res.name
employee = self.env[’hr.employee’].search(
[(’name_related’,’=’,name)])
self.current_name = employee
#默认当前登录人以及登录着的部门经理
@api.model# 使用新的 api
def _get_default_name(self):
uid = self.env.uid
res = self.env[’resource.resource’].search([(’user_id’,’=’,uid)])
name = res.name
employee = self.env[’hr.employee’].search(
[(’name_related’,’=’,name)])
# for i in self.env.user:# 说明其是 recordset
# print(’hello’)
return employee
@api.model
def _get_default_manager(self):# 单记录 recordset 可以直接用点记号读取属性值
uid = self.env.uid
res = self.env[’resource.resource’].search([(’user_id’,’=’,uid)])
name = res.name
employee = self.env[’hr.employee’].search(
[(’name_related’,’=’,name)])
logging.info(”myinfo {}”.format(employee.parent_id))
return employee.parent_id # 似乎有这种数字引用方法值得我们注意
_defaults = {
’name’ : _get_default_name ,
’manager’ : _get_default_manager ,
}
is_manager = fields.Boolean(compute=’_get_is_manager’)
def _get_is_manager(self):
print(’----------test’)
print(self.current_name, self.manager,self.env.uid)
if self.current_name == self.manager:
self.is_manager = True
else:
self.is_manager = False