Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

如何获取指定用户的指针并取得email值



  • 目前想要实现一个简单的功能,即主管分配某项工作给员工。
    class里面有两个值,一个是user_id, 一个是assign_to_user,
    [code]
    'user_id': fields.many2one('res.users', '负责人'),
    'assign_to_user': fields.many2one('res.users', '指派给'),
    [/code]
    主管即是user_id,他需要指定工作的接受人assign_to_user, 当他选择好人员,安排好工作后,点击“确定”按钮,则系统自动发送一封email给assign_to_user,现在我不知道如何取得assign_to_user的email,请大家帮忙看一下。
    我可以通过如下代码取得user_id的emal:
    [code]
    user_obj = self.pool.get('res.users')
    user = user_obj.browse(cr, uid, uid)
    mail=user.address_id.email
    [/code]
    请大家帮忙,我如何取得assign_to_user的mail,谢谢!



  • 目前想要实现一个简单的功能,即主管分配某项工作给员工。
    class里面有两个值,一个是user_id, 一个是assign_to_user,
    [code]
    'user_id': fields.many2one('res.users', '负责人'),
    'assign_to_user': fields.many2one('res.users', '指派给'),
    [/code]
    主管即是user_id,他需要指定工作的接受人assign_to_user, 当他选择好人员,安排好工作后,点击“确定”按钮,则系统自动发送一封email给assign_to_user,现在我不知道如何取得assign_to_user的email,请大家帮忙看一下。
    我可以通过如下代码取得user_id的emal:
    [code]
    user_obj = self.pool.get('res.users')
    user = user_obj.browse(cr, uid, uid)
    mail=user.address_id.email
    [/code]
    请大家帮忙,我如何取得assign_to_user的mail,谢谢!


  • 管理员

    你可以这样
    [code]
    user_obj = self.pool.get('res.users')
    user = user_obj.browse(cr, uid, uid)
    assign_to_user_email = user.assign_to_user.address_id.email
    [/code]



  • 非常感谢,不过我试了一下,错误提示如下:
    AttributeError: "Field 'assign_to' does not exist in object 'browse_record(res.users, 1)'"


  • 管理员

    不好意思,看来是我理解错了
    [code]
    'user_id': fields.many2one('res.users', '负责人'),
    'assign_to_user': fields.many2one('res.users', '指派给'),
    [/code]

    你的意思是现在有user_id想找出相应的assign_to_user?
    那你就直接search你上面的class搜出user_id = uid 然后读取出assign_to_user

    [code]
    ids = self.pool.get('class').search(cr, uid , [('user_id','=',uid)])
    class = self.pool.get('class').browse(cr, uid , ids )
    class.assign_to_user.address_id.email
    [/code]



  • 谢谢,不过这样也有问题,但是我使用如下的代码实现了:
    [code]
    def get_user_email(self, cr, uid, ids, context=None):
         
            for case in self.browse(cr, uid, ids, context=context):
                if case.assign_to.user_email:
                  email=case.assign_to.user_email
                return email
            return False
    [/code]


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待