在项目团队成员中应用域过滤器

问题描述

我在DMS文件模型中有字段:-

project_id = fields.Many2one('project.project',string="Project")
project_members_ids = fields.Many2many(related="project_id.members_ids",string="Members")
project_task_id = fields.Many2one('project.task',string="Project Partwork")
project_task_members_ids =
fields.Many2many(related="project_task_id.members_ids",string="Partwork Members")

我在项目模型中:

members_ids = fields.Many2many('res.users','work_user_rel','work_id','uid','Work Members',help="""Work's Team.""")

我已经在DMS模块中确保了安全性:-与项目模块相关的成员只能访问他的文件

<record id="rule_security_project_user_file" model="ir.rule">
        <field name="name">Records based Project of file</field>
        <field name="model_id" ref="model_muk_dms_file"/>
        <field eval="1" name="perm_read"/>
        <field eval="1" name="perm_create"/>
        <field eval="1" name="perm_write"/>
        <field eval="0" name="perm_unlink"/>
        <field name="domain_force">['|','|',('project_task_members_ids','=',False),('project_task_members_ids.user_ids','in',[user.id]),('project_members_ids',('project_members_ids.user_ids',[user.id])]</field>
        <field eval="[(4,ref('gwssb_dms.group_dms_user'))]" name="groups"/>

    </record>

但是,如果我将域过滤器设置为“ Global”,则可以正常工作,但不能在DMS USer组中使用。而且,域过滤器不允许其他成员创建与项目团队成员无关的任何新记录。

我不知道我在做什么错,或者这是odoo中的错误。任何从事安全工作的人。请帮帮我。等待您的答复。预先感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...