İçereği Atla
Menü
Bu soru işaretlendi
1 Cevapla
853 Görünümler

I would like the admin to be the only one able to change product price

Avatar
Vazgeç
En İyi Yanıt

Hi Paceli,

You can follow these steps to achieve the desired functionality:

  • Create a new compute field to check if the user has Sales Manager rights:

​user_has_group_sale_manager = fields.Boolean(compute='_compute_user_has_group_sale_manager')

​@api.depends_context('uid')
​def _compute_user_has_group_sale_manager(self):
​user_has_group_sale_manager = self.env.user.has_group('sales_team.group_sale_manager')
​for sales in self:
​sales.user_has_group_sale_manager = user_has_group_sale_manager

  • Inherit the sale order form view:
    <record id="view_order_form" model="ir.ui.view">
    <field name="name">sale.order.form.view.for.unit.price</field>

​<field name="model">sale.order</field>

​<field name="inherit_id" ref="sale.view_order_form"/>

​<field name="arch" type="xml">

​<xpath expr="//field[@name='price_unit']" position="before">

​<field name="user_has_group_sale_manager" invisible="1"/>

​</xpath>

​<xpath expr="//page[@name='order_lines']//field[@name='order_line']//tree//field[@name='price_unit']" position="attributes">

​<attribute name="readonly">not user_has_group_sale_manager</attribute>

​</xpath>

​</field>

​</record>

  • Upgrade or install the custom module and check if this achieves the required functionality.

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
0
Mar 15
3436
0
Tem 23
1674
0
Şub 23
1438
1
Nis 25
2047
3
Şub 25
1690