我是odoo的新朋友,我正在寻求帮助
如何为出纳员扮演新的安全角色,我需要他做的就是打开POS会话并关闭它,没什么。
那怎么办?
我已经有一个moedel,并且我具有角色,我需要向新用户添加角色以成为收银员,只需打开pos会话并将其关闭
<record id="auto_cashir" model="res.groups">
<field name="name">cashier</field>
<field name="category_id" ref="base.module_category_point_of_sale"/>
<field name="implied_ids" eval="[(4, ref('group_pos_user')), (4, ref('stock.group_stock_user'))]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
我需要以用户身份在我的模型安全角色下担任角色,才能选择Cashir角色
答案 0 :(得分:1)
通过属于open_session_cb
模型(pos.config
)的名为<path_to_v12>/addons/point_of_sale/models/pos_config.py
的方法打开PoS会话,因此您的问题转化为如何只允许该特定用户权限那个特定的方法?
恕我直言,由于Odoo安全性的设计方式而无法完成(请参见https://www.odoo.com/documentation/12.0/reference/security.html)。也就是说,Odoo可以限制对模型,记录和字段的访问,但不能限制对方法的访问。
您可以获得的最接近的结果是创建一个内部用户,该用户没有应用程序权限,除了销售点的用户级别。为此,只需确保用户属于point_of_sale.group_pos_user
组即可。