我正在研究学生模块。根据要求,一个应用程序的超级用户有权访问它,而另一个用户(教师)只根据分类查看所有学生,例如o级学生 我怎么能这样做?
<record id="student_view_form_status" model="ir.ui.view">
<field name="name">Status</field>
<field name="model">student.registration</field>
<field name="type">tree</field>
<field name="priority" eval="10" />
<field name="arch" type="xml">
<tree string="Status">
<field name="registered_date" />
<field name="status" />
<field name="student_name" />
</tree>
</field>
</record>
<record id="patient_visits_action_form_status_view" model="ir.actions.act_window">
<field name="name">Status</field>
<field name="res_model">student.registration</field>
<field name="view_type">tree</field>
<field name="view_mode">tree</field>
<field name="view_id" ref="student_view_form_status" />
</record>
答案 0 :(得分:0)
我会给你简短的回答。使用DOMAIN。
更多详情请阅读官方Odoo documentation。
答案 1 :(得分:0)
如果我理解你的正确,你希望特定用户只能看到定义级别的条目(学生)。让我更抽象一点:条目有2个或更多(x,y,...)状态,用户a(超级用户)可以看到所有条目,而用户b(教师)只能看到状态x的条目。 / p>
在Odoo中,您需要用户组(res.groups
),访问权限(ir.model.access
)和访问规则(ir.rule
)才能完成此要求。
你会在Odoo的sale
模块中找到一个很好的例子。该模块中有3个用户组:查看自己的潜在客户,查看所有潜在客户和经理。所有销售用户都可以读取销售订单(sale.order
)(读取,创建和写入所有用户的访问权限)。
但是也定义了访问规则。销售订单有一个名为user_id
的字段,在销售的上下文中是订单的销售员。规则被定义为群组的用户&#34;看到自己的潜在客户&#34;只能看到他们所在的订单或者没有人是推销员。下一个&#34;更高&#34;小组&#34;查看所有潜在客户&#34;通过自己的访问规则来覆盖此约束,该规则授予对所有销售订单的读取权限。
您可以根据需要使用相同的实现。有关更多信息,请查看sale
模块,并查看Doc