跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

Q

qq9299381

@qq9299381
关于
帖子
2
主题
1
群组
0
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • 关于结合人力资源模块利用domain设置角色权限问题总结
    Q qq9299381

    暂时没考虑部门级别问题,比如上级部门查看下级部门的数据,OE的人员只能属于一个HR部门
    如果可以定义变量类似user这样的
    那么可以定义一个我管辖的用户这样一个变量列表,在[('user_id','in',我管辖的用户)] 这样比较合适
    一直不知道如何去定义这样一个变量
    在column中定义'context_department_id': fields.function(_get_self_department_ids,type="hr.department"), 类似这样定义部门,这个department_id好像也不能用在domain中,但从浏览器上确实看到department_id的值在前台的params中,每次post到后台时,都会把这个department_id送到OE-server,
    而且这个department_id函数定义返回的结果是可定义的字段类型,没有[1,2,3]这种列表方式,也不好在domian中用in去处理


  • 关于结合人力资源模块利用domain设置角色权限问题总结
    Q qq9299381

    OE中的domain很牛也很可恶,没有什么很详细的说明
    我测试的结果:
    'a'='b' 这个条件中,
    a可以是本对象字段,也可以是字段many2one对应的,例如常见的oecn_training_lesson中,teacher为many2one 对应res.users,
    那么公式可以这样写:[( 'teacher.login' ,'=','admin')]  意思就是 记录中老师的登录名为admin的记录列出来,注意在a为变量时, 是需要这样'a' 引号的
    b 加引号 'b' 时,是固定值,例如上面的 'admin'
    b 也可以使用变量,例如 user.name 则为当前用户的名字,那么上面公式可以为 [( 'teacher.login','=', user.name)],也就是老师登录名是当前用户名字的记录
    综合上面的情况,求证 销售一部经理,只能看到本部门数据的 情况
    为:[('user_id','in', [workmate.user_id.id  for workmate in user.employee_ids[0].department_id.member_ids])]
    说明:
    1.需要对象中要有user_id字段,虽然默认oe都有create_uid这个字段,但在columns中木定义,这里使用不行,会报错,奇怪,可我用[('create_uid','=',user.id)]时可以,鬼知道为什么
    2. user.employee_ids[0].department_id.member_ids 意思是,当前用户对应的hr中的员工的部门的成员
    (OE,一个登陆帐号,可以对应多个企业员工,这里只取第一个,也就是最好一个帐号就对应一个员工)
    那么上面的意思就是 查出 记录的归属者是当前用户的同事的记录
    这种做法可能有那么点别扭,可不用写代码就可以完成,还算凑合


  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组