Поскольку у них есть права на чтение для каждой записи, используйте это:
<record id="project_project_lead_rule1" model="ir.rule">
<field name="name">Project: Lead to view only others document</field>
<field name="model_id" ref="project.model_project_project"/>
<field name="groups" eval="[(4, ref('project_user_access.group_project_lead'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
<field name="domain_force">[(1,'=', 1)]</field>
</record>
Когда вы делаете это [('user_id','!=',user.id)]
, вы говорите, что эта группа разрешена только для чтения проекта других пользователей, которым она не принадлежит, вместо этогоВы могли бы сделать это ['|', ('user_id','!=',user.id), ('user_id','=',user.id)]
, но условием является использование этого [(1,'=', 1)]
, когда нет условий, запрещающих им читать какие-либо записи.
Теперь, поскольку им разрешено изменять только собственные проекты:
<record id="project_project_lead_rule2" model="ir.rule">
<field name="name">Project: Lead to write own document</field>
<field name="model_id" ref="project.model_project_project"/>
<field name="groups" eval="[(4, ref('project_user_access.group_project_lead'))]"/>
<!-- apply this domain only in [write, create, unlink] permissions don't forget they are allowed to see other project-->
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
<field name="domain_force">[('user_id','=',user.id)]</field>
</record>
Когда вы получаете доступ к файлу записи, вы даете им все разрешения, поэтому убедитесь, что им разрешено касаться только проектов (write, create, delete)
.