参考作者的内容后,提出的改进:http://blog.csdn.net/littlebo01/article/details/17554953
之前文章对于员工表和用户表都是基于SQL的方式,这里讨论源码,如下:
--工作笔记:20140528a
1. 关于OE7.0中通过登录uid获取其部门ID的方法:
def get_current_user_department_id(self, cr, uid, ids, context=None):
res2_id = self.pool.get('resource.resource').search(cr, uid, [('resource_type','=','user'),('user_id','=',uid)], context=context) #获取关联表ID
depart_id = self.pool.get('hr.employee').browse(cr, uid, [('resource_id','=',res2_id[0])], context=context).department_id #获取员工表的部门ID
return depart_id
2. 关于OE7.0中通过登录uid获取其部门name的方法:
def get_current_user_department_name(self, cr, uid, ids, context=None):
res2_id = self.pool.get('resource.resource').search(cr, uid, [('resource_type','=','user'),('user_id','=',uid)], context=context) #获取关联表ID
depart_id = self.pool.get('hr.employee').browse(cr, uid, [('resource_id','=',res2_id[0])], context=context).department_id #获取员工表的部门ID
depart_name = self.pool.get('hr.department').browse(cr, uid, depart_id[0], context=context).name #获取部门名称
return depart_name
注意:源码在notepad++下编写,小心缩进导致OE异常。如果有,自己调整缩进即可。
--EOF